home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / canada-remote-systems / c128 / graphutl / geos2b8.sda / GEOSCRAP.DOCS < prev    next >
Text File  |  2019-04-13  |  11KB  |  168 lines

  1.                      ╟┼╧╙ ╨╚╧╘╧ ╙├╥┴╨ ╘╧ ┬┴╙╔├ 8 ┬╥╒╙╚ ├╧╬╓┼╥╘
  2.      
  3.           ╘HE FOLLOWING TUTORIAL ARTICLE IS REPRINTED HERE WITH THE
  4.           PERMISSION OF ╠OREN ╠OVHAUG AND ╘WIN ├ITIES 128. ╘HIS MATERIAL,
  5.           WITH THE EXCEPTION OF THE NOTE BY ME AT THE END, IS EXCERPTED
  6.           FROM ╔SSUE #24 OF ╘├ 128, IN WHICH THIS ARTICLE AND THE
  7.           ACCOMPANYING PROGRAMS FIRST APPEARED. ╔ WISH TO THANK THE AUTHOR,
  8.           ╥ICK ╦ANE, FOR THIS EXCEPTIONAL AND LONG AWAITED PROGRAM, AND
  9.           ╠OREN ╠OVHAUG FOR PERMISSION TO UPLOAD THIS ARTICLE AND PROGRAM
  10.           PACKAGE TO ╤-╠INK FOR THE ENJOYMENT AND ENLIGHTENMENT OF OUR
  11.           MEMBERS. ┼╬╩╧┘!! 
  12.           
  13.                                                           ┬ILL ╨ITTS
  14.                                                       128 ╟RAPHICS ╙YS╧P
  15.  
  16.           -----------------------------------------------------------------
  17.  
  18.           ╫E ALL LOVE TO SHOW OFF WHAT WE CAN DO WITH ╥╟┬ ╟RAPHICS ON THE
  19.           128. ┬UT WHEN IT GETS RIGHT DOWN TO IT, IT TAKES A LOT OF TIME
  20.           (NOT TO MENTION TALENT) TO DRAW ALL THOSE PICTURES TO SHOW OFF
  21.           WITH. ┴ND MANY NICE GRAPHICS ALREADY EXIST, AVAILABLE ON MANY
  22.           ┬┬╙'S AND RIGHT HERE ON ╤-╠INK. ═ANY OF THESE HAVE BEEN PORTED TO
  23.           A COMPATIBLE FORMAT FROM EITHER ┴MIGA OR ═ACINTOSH FORMATS, OR
  24.           CREATED WITH ONE OF THE SEVERAL FINE PAINT PROGRAMS AVAILABLE FOR
  25.           THE 64 AND 128. ╧F COURSE EACH HAS A FILE FORMAT TAILORED TO ITS
  26.           CHARACTERISTICS. ┴ND JUST BECAUSE YOU CAN DOWNLOAD A GRAPHIC AND
  27.           VIEW IT IS NO GUARANTEE THAT YOU'LL BE ABLE TO USE IT IN YOUR OWN
  28.           PROGRAMS.
  29.      
  30.           ╘HEREFORE NO ONE NEEDS TO BE TOLD THE VALUE OF HAVING THE TOOLS
  31.           TO CONVERT FROM ONE FORMAT TO ANOTHER. ╫ITH THIS PROGRAM YOU WILL
  32.           BE ABLE TO TAKE A ╟┼╧╙ ╨HOTO ╙CRAP (THE FILE YOU GET WHEN YOU ├╒╘
  33.           OR ├╧╨┘ FROM THE ╟┼╧PAINT ┼─╔╘ REQUESTOR) AND MAKE AN 8╪8 COLOR
  34.           ┬┴╙╔├ 8 ┬╥╒╙╚ FILE. ╘HE BRUSH CAN THEN BE PASTED, CROPPED, AND
  35.           OTHERWISE HANDLED JUST AS IF IT HAD BEEN DRAWN WITH A ┬ASIC
  36.           8-BASED PAINT PROGRAM SUCH AS ┬ASIC ╨AINT, ╙PECTRUM 128, AND
  37.           OTHERS.
  38.      
  39.           ┴S TO THE CONVERSION PROCESS, ╟EOPAINT PRESENTS SPECIAL PROBLEMS,
  40.           WITH ITS COMPACTION SCHEMES TO KEEP DISK ACCESS TIMES DOWN, ╓╠╔╥
  41.           FILE FORMAT AND ╒╙╥ FILES. ┬Y CONCENTRATING ON ╨HOTO ╙CRAP FILES,
  42.           WE CUT DOWN ON THE COMPLEXITY IN SEVERAL WAYS. ╞IRST, ╨HOTO
  43.           ╙CRAPS ARE SEQUENTIAL IN FORMAT (THOUGH LABELED ╒╙╥), SO A
  44.           RELATIVELY SIMPLE ╟┼╘# STATEMENT WILL READ IT. ╙ECOND, A ╟EOPAINT
  45.           FILE CAN REPRESENT 640 X 800 VIRTUAL RESOLUTION. ╚OLDING THAT
  46.           DOCUMENT IN MEMORY (UNCOMPRESSED) WOULD REQUIRE 64000 BYTES FOR
  47.           THE BITMAP AND 8000 BYTES FOR ATTRIBUTES AND WOULD REQUIRE A FAIR
  48.           AMOUNT OF JUGGLING. ╘HEN IT WOULD NEED TO BE BROKEN INTO SMALLER
  49.           PARTS ANYWAY, FOR 16╦ SYSTEMS AND FOR ANY PAINT PROGRAMS WHERE
  50.           THE PICTURE REMAINS IN MEMORY. (╘HE MAXIMUM 8X8 COLOR DOCUMENT
  51.           WITH 64╦ VIDEO ╥┴═ WOULD BE 640 X 728).
  52.      
  53.           ┴S LUCK WOULD HAVE IT, THE ╟┼╧╙ PROGRAMMERS CHOSE TO SAVE THEIR
  54.           PICTURE DATA FROM LEFT TO RIGHT ACROSS SCANLINES, JUST LIKE THE
  55.           8563 CHIP, RATHER THAN IN THE "8 BYTES STACKED PER CHARACTER"
  56.           METHOD USED BY THE ╓╔├ CHIP. ╘HIS WAS DONE BECAUSE BIT-MAPPED
  57.           DATA COMPRESSES MUCH BETTER HORIZONTALLY. ╘HIS MAKES SENSE IF YOU
  58.           THINK ABOUT THE CASE OF THE PATTERN FILL. ╓╔├ PATTERNS ARE
  59.           GENERALLY BASED ON 8X8 CARDS, SO A PATTERN FILL WOULD PLACE THE
  60.           SAME BYTE AT THE SAME SCANLINE POSITION IN EACH CARD. ╘HIS
  61.           RESULTS IN A HIGHER PROBABILITY OVERALL THAT THE BYTE IN THE
  62.           POSITION IMMEDIATELY TO THE RIGHT (OR LEFT) OF ANY ONE POSITION
  63.           WILL BE THE SAME, LEADING TO BETTER COMPACTION. ╔N ANY CASE, THAT
  64.           TAKES SOME OF THE WORK OUT OF GETTING THE DATA ONTO THE 8563
  65.           SCREEN.
  66.           
  67.           ╟EOS USES THREE MODES TO MAXIMIZE COMPACTION. ╔N EACH MODE, THE
  68.           FIRST BYTE IS TAKEN AS THE ├╧╒╬╘, FOLLOWED BY THE APPROPRIATE
  69.           AMOUNT OF DATA. ╔N HE FIRST MODE, WHEN ├╧╒╬╘ <128, THIS INDICATES
  70.           THAT THE NEXT BYTE IS TO BE REPEATED ├╧╒╬╘ TIMES. ╘HE SECOND MODE
  71.           IS A STRING OF DATA -- A "WORD" -- USED SEQUENTIALLY. ├╧╒╬╘ IS
  72.           BETWEEN 128 AND 220 INCLUSIVE, AND THE DATA STRING IS THE NEXT
  73.           ├╧╒╬╘-128 BYTES, USED ONCE EACH. ╘HE THIRD MODE, ┬╔╟├╧╒╬╘, ALLOWS
  74.           FURTHER COMPACTION OF PATTERNS. ╔F A STRING OF BYTES IS REPEATED
  75.           SEVERAL TIMES, ├╧╒╬╘ WILL BE BETWEEN 221 AND 255. ╘HE NUMBER OF
  76.           DATA BYTES IS ├╧╒╬╘-220. ╘HE NEXT BYTE IS ┬╔╟├╧╒╬╘, TELLING HOW
  77.           MANY TIMES TO REPEAT THE STRING OF DATA BYTES.
  78.           
  79.           ╘HE DECOMPRESSION ROUTINE IS NOT FAST, BEING WRITTEN IN ┬┴╙╔├,
  80.           BUT IT USES ╞┴╙╘ MODE AND REALLY ISN'T THAT BAD. ┴ ├╧╒╬╘ BYTE IS
  81.           GOTTEN FROM DISK, AND THE APPROPRIATE DECOMPRESSION ROUTINE IS
  82.           CALLED FOR EACH MODE, UNTIL THE ╨HOTO ╙CRAP'S FULL DIMENSIONS
  83.           HAVE BEEN ADDRESSED. ╫HEN ╟EOS CREATES THE SCRAP, IT DOESN'T
  84.           DISTINGUISH BETWEEN BITMAP AND COLOR DATA; THEY ARE COMPRESSED
  85.           THE SAME WAY. ╙O IT IS POSSIBLE FOR A COMPRESSION AT THE END OF
  86.           THE BITMAP TO INCLUDE BOTH BITMAP AND COLOR DATA. ╘HIS WILL
  87.           HAPPEN IF, FOR EXAMPLE, THE LAST ROW OF THE SCRAP IS 00'S (THE
  88.           SCRAP IS SLIGHTLY LARGER THAN THE OBJECT YOU CUT, PERHAPS, AND
  89.           CONTAINS BLANK SPACE) AND THE FIRST COLOR DATA IS THE SAME. ╙O
  90.           EACH MODE ROUTINE MUST CHECK IF DATA TO REPEAT IS LEFT OVER WHEN
  91.           THE LAST SCANLINE IS DONE, AND FINISH OFF AT THE START OF
  92.           ATTRIBUTES. ╔F NO DATA IS LEFT, THE SWITCH TO ATTRIBUTE MEMORY IS
  93.           HANDLED AT THE PROPER TIME BY THE MAIN ROUTINE AT 1000-1080. 
  94.           
  95.           ├OLOR BYTES ARE IN THE ╓╔├ FORMAT, WHERE 0 IS BLACK, 1 WHITE, 2
  96.           RED, ETC. ┬UT THE ╥╟┬ COLORS DON'T MATCH THOSE NUMBERS, SO A
  97.           CONVERSION ARRAY IS SET UP. ┴LSO, THE COLOR NIBBLES AFFECT
  98.           FOREGROUND/BACKGROUND IN THE REVERSE WAY; THIS IS ALSO HANDLED
  99.           WHEN THE BYTE IS GOTTEN FROM DISK IF THE COLOR CHANGE FLAG IS
  100.           SET. ╔F THE ╨HOTO ╙CRAP IS MONOCHROME, CUT EITHER FROM THE 80
  101.           COLUMN SCREEN OR WITH THE ├╧╠╧╥ ╧╞╞ ON THE 40 COLUMN SCREEN,
  102.           THERE WILL BE JUST ONE BYTE OF COLOR DATA FOR THE ENTIRE SCRAP.
  103.           ╔N THIS CASE, THE GET-A-BYTE ROUTINE AT 5000 WILL RECOGNIZE THE
  104.           END OF FILE MARKER (╙╘ <> 0) AND JUST LEAVE THE CURRENT BYTE TO
  105.           BE HANDLED UNTIL THE SCRAP IS FILLED.
  106.           
  107.           ╧NCE THE ╨HOTO ╙CRAP IS ON THE SCREEN, IT CAN BE @╙╘┴╙╚┼─ IN
  108.           COMPRESSED FORM TO A BRUSH STRUCTURE IN A BUFFER. ╔ CHOSE BANK 1
  109.           FOR THE BUFFER BECAUSE THE DATA IS RELATIVELY SMALL(NO MORE THAN
  110.           80*176 + 80*22, OR 15840 BYTES MAXIMUM UNCOMPRESSED), AND IT IS
  111.           AN EASY MATTER TO PROTECT ┬ASIC'S VARIABLES FROM CORRUPTION.
  112.           ┴FTER THE BRUSH IS @╙╘┴╙╚ED, IT CAN BE WRITTEN TO DISK WITH THE
  113.           @╙╙╘╥╒├╘ COMMAND. ╘O GET A BETTER UNDERSTANDING OF THE FORMATS
  114.           FOR ╟┼╧╙ AND ┬ASIC 8, ╔ SUGGEST THE ╧FFICIAL ╟┼╧╙ ╨ROGRAMMER'S
  115.           ╥EFERENCE ╟UIDE BY ┬╙╫, AND THE ┬ASIC 8 ═ANUAL. ┘OU DON'T NEED TO
  116.           OWN ┬ASIC 8 TO RUN THE CONVERSION PROGRAM, BUT YOU ─╧ NEED THE
  117.           ╥UNTIME ╠IBRARY, WHICH IS ┴VAILABLE IN THE ┬┴╙╔├ 8 ╞ILES/─EMOS
  118.           ┴ND ┴NIMATION ╙ECTION IN THE ├-128 ╟RAPHICS ╠IBRARY IN ├╔╬, AND
  119.           ALSO IN THE ╙PECIAL ┼DITION ╙OFTWARE/╠OU ╫ALLACE ╨RIVATE
  120.           ├OLLECTION ╙ECTION OF THE ├OMMODORE ╙OFTWARE ╙HOWCASE ╠IBRARIES.
  121.           ╘HEN USE THE PROGRAM ┬╧╧╘.╟┼╧╙├╥┴╨ TO BOOT THE ╥UNTIME ╠IBRARY
  122.           AND RUN ╟┼╧╙├╥┴╨-2┬8╓1.2. ╔F YOU OWN ┬ASIC 8 OR YOU HAVE YOUR ╥╘╠
  123.           ALREADY SET UP TO AUTO BOOT, YOU CAN SKIP THE FIRST STEP AND JUST
  124.           BOOT THE EDITOR OR ╥╘╠ AND RUN ╟┼╧╙├╥┴╨-2┬8╓1.2 FROM THERE. ╔F
  125.           YOU DO USE THE ┬╧╧╘.╟┼╧╙├╥┴╨ PROGRAM, ─╧ ╬╧╘ ┬╧╧╘ OR ╥╒╬ IT!
  126.           ╔NSTEAD, YOU SHOULD FIRST ─╠╧┴─ IT THEN ╥╒╬ IT.
  127.           
  128.           ╫HEN YOU RUN THE MAIN PROGRAM, YOU WILL BE TOLD THAT THE MENU IS
  129.           ON THE 40 COLUMN SCREEN. ╔T THEN ASKS FOR THE SOURCE DRIVE. ╔F
  130.           YOU ANSWER "0" THE PROGRAM WILL END. ┴FTER A CATALOG OF ALL ╒╙╥
  131.           FILES ON THE SELECTED SOURCE DISK SCROLLS BY, ENTER THE FILENAME
  132.           YOU WISH TO CONVERT. ╒SUALLY, YOU CAN LEAVE IT AS THE DEFAULT
  133.           "╨HOTO ╙CRAP" BECAUSE ╟┼╧╙ WON'T LET YOU RENAME IT TO ANYTHING
  134.           ELSE. ┘OU CAN RENAME THEM IN ┬ASIC TO PUT MANY SCRAPS ON ONE
  135.           DISK, BUT THIS IS ONLY PRACTICAL IF YOU HAVE A ╥┴═ EXPANSION UNIT
  136.           TO ALLOW FOR QUICK REBOOTS EACH TIME YOU EXIT ╟┼╧╙ TO RENAME. ╘HE
  137.           PROGRAM WILL HANDLE "NOT FOUND" ERRORS, BUT ╔ MAKE NO GUARANTEES
  138.           ABOUT WHAT WILL HAPPEN IF YOU TRY TO CONVERT SOME OTHER ╒╙╥ FILE,
  139.           LIKE THE ─ESKTOP! ╫HEN THE FILE IS FOUMD, THE WIDTH AND HEIGHT IN
  140.           PIXELS IS DISPLAYED, THEN THE ╓╔├ (40 COLUMN) SCREEN BLANKS WHILE
  141.           THE BRUSH IS DRAWN. ┘OU CAN SWITCH YOUR MONITOR TO THE 80-COLUMN
  142.           MODE AT THIS TIME IF YOU WISH AND SEE THE BRUSH BEING DRAWN. ╫HEN
  143.           IT IS DONE, YOU WILL BE PROMPTED ON THE 40 COLUMN SCREEN FOR A
  144.           DESTINATION FILENAME (THE "┬╥╒╙." PREFIX WILL BE AUTOMATICALLY
  145.           ADDED TO THE NAME YOU GIVE) AND THE BRUSH IS SAVED. ╘O DISPLAY A
  146.           BRUS FILE QUICKLY, EXIT THE PROGRAM, THEN TYPE THIS LINE IN THE
  147.           IMMEDIATE MODE:
  148.      
  149.                  @├╠┼┴╥,0,3,15:@─╔╙╨╠┴┘,0,DEVICE,0,BRUSHNAME,0,0 
  150.           
  151.           ╫HERE 'DEVICE' IS THE DISK # YOU WISH TO LOAD FROM, AND
  152.           'BRUSHNAME' IS THE NAME OF THE BRUS FILE YOU WISH TO LOAD
  153.           (BRUSHNAME SHOULD BE ENCLOSED IN DOUBLE QUOTE MARKS OF COURSE.
  154.      
  155.           -----------------------------------------------------------------          
  156.  
  157.           ╬╧╘┼ ╞╥╧═ ╙┘╙╧╨ ╫╨: ╔ HAVE ADDED A SHORT PROGRAM TO THIS PACKAGE
  158.           THAT WILL AUTOMATICALLY LOAD, IN FULL COLOR, ANY ┬╥╒╙ FILE TO THE
  159.           SCREEN, REGARDLESS OF WHETHER IT WAS CREATED WITH THE ABOVE
  160.           PROGRAM OR IS FROM ANOTHER SOURCE, SUCH AS ┬ASIC ╨AINT. ╔T IS NOT
  161.           NECESSARY TO ADD THE 'BRUS.' PREFIX, AS THIS WILL BE DONE
  162.           AUTOMATICALLY, ALTHOUGH NO HARM WILL BE DONE IF YOU DO. ┘OU WILL
  163.           BE GIVEN THE OPTION OF LOADING TO THE SCREEN ONLY, OR LOADING AS
  164.           A STRUCTURE TO A BUFFER. ╩UST ─╠╧┴─ AND ╥╒╬ "┬╥╒╙╚╓╔┼╫"
  165.      
  166.      
  167.           
  168.