home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / screen / scremo10.lha / ScreenMod / ScreenMod.DOC < prev    next >
Text File  |  1991-06-06  |  16KB  |  363 lines

  1.  
  2.  
  3.  
  4.                     ======================================
  5.                     =          ScreenMod v1.0            =
  6.                     =          ~~~~~~~~~ ~~~~            =
  7.                     =   Program and Documentation by:    =
  8.                     =          Syd L. Bolton             =
  9.                     =                                    =
  10.                     =          Copyright ©1991           =
  11.                     = Legendary Design Technologies Inc. =
  12.                     =       Freely Redistributable       =
  13.                     ======================================
  14.  
  15. WHAT IS SCREENMOD?
  16. ~~~~~~~~~~~~~~~~~~
  17.  
  18.     ScreenMod is a small utility program that was developed primarily
  19. to change the position of a custom screen opened by another program.  Some
  20. PAL utilities open their screens so low that most of the gadgets are
  21. unreachable by the mouse.  Using a PAL-BOOT program doesn't always help
  22. the situation.  Not everybody is able to permanently alter someone's
  23. executable code (especially if it's compressed in some form or another)
  24. and that is why ScreenMod came to life.
  25.     ScreenMod allows you to change several parameters of any screen
  26. that has been opened.  You can change the TOPEDGE parameter, and the
  27. LEFTEDGE parameter (although at the time of writing, changing the LEFTEDGE
  28. parameter of a screen has no effect since the operating system does not
  29. support it yet, but someday ...).  You can even manipulate the display modes,
  30. such as HAM and HIRES, and adjust the palette of any screen -- even if it
  31. normally does not allow this.
  32.     ScreenMod also allows you to save the changes you've made to a
  33. file, which can then later be called by a companion program called
  34. ScreenSet.  This has been set up so that you can create a batch file
  35. to run your application program first, and then ScreenSet will put any
  36. of the changes you have made into effect.  See the separate ScreenSet
  37. documentation for more details.
  38.  
  39. GETTING STARTED WITH SCREENMOD
  40. ~~~~~~~ ~~~~~~~ ~~~~ ~~~~~~~~~
  41.  
  42.     ScreenMod can be run from the CLI or Workbench, although full
  43. Workbench support has not yet been implemented.  Refer to the "FEATURES
  44. TO BE ADDED" section of this documentation for more details.
  45.     When you first run ScreenMod it will open its own custom screen
  46. using 2 BITPLANES and a RESOLUTION of 640 X 200.  The program contains
  47. an "ICONIFY" feature that will close the main screen and open a small
  48. window in the Workbench title bar.  Normally, this feature is selected
  49. through the SPECIAL menu (or Right-Amiga-I) but ScreenMod can be told
  50. from startup to be iconified.  To do this, when you run the program
  51. just specify the "small" option.  For example:
  52.  
  53. 1>screenmod small
  54.               ^----  This parameter causes ScreenMod to start in an
  55.                      ICONIFIED state.
  56.  
  57.     With this release, starting up in an ICONIFIED state from Workbench
  58. is not possible.
  59.  
  60.     If the program is iconified, and you wish to return it to its full
  61. screen, you must do two things:
  62.  
  63.     1) Activate the small ScreenMod window, by clicking the left button
  64.            somewhere in the title bar.
  65.  
  66.     2) Click the RIGHT BUTTON to tell ScreenMod to UN-ICONIFY.
  67.  
  68. THE MAIN SCREEN
  69. ~~~ ~~~~ ~~~~~~
  70.  
  71.     On the left-hand side of the screen, you will see a listing of
  72. all available screens that are currently opened.  They are ordered the
  73. way the operating system orders screens: The front screen is listed first,
  74. and then the screen behind that one is next, and so on.  Note that the
  75. "SCREENMOD" screen itself will ALWAYS be the first one on the list.
  76.     You will see the NAME of the screen and the RESOLUTION.  If the
  77. screen does not actually have a title, ScreenMod will put in "** NO NAME **"
  78. in it's place.
  79.     To make an alteration to a screen, you first decide which screen
  80. you would like to change, and then click the left button on it's title
  81. on the left-hand side of the screen.  The "settings" will all change
  82. accordingly on the right-hand side.
  83.  
  84. THE PARAMETERS AND WHAT THEY MEAN
  85. ~~~ ~~~~~~~~~~ ~~~ ~~~~ ~~~~ ~~~~
  86.  
  87. LEFT EDGE: The number of pixels the screen is offset from the left.  Please
  88. note this feature is not currently implemented in the operating system,
  89. and changing its value will have no effect.  It DOES however ask the
  90. operating system to make the change so when it is implemented, this program
  91. should still be compatible.
  92.  
  93. TOP EDGE: This is one you may play with a lot.  It indicates the number of
  94. raster lines (pixels) the screen is offset from the top of the display.
  95. For most screens this will be 0, but for some it will be another value.
  96. Try changing ScreenMod's value to say 10, and then REMAKE the screen.
  97.  
  98. WIDTH: The width of the screen, in pixels.  Note that playing with this
  99. parameter will NOT have many useful effects.  If you make the WIDTH
  100. wider than what it normally is, ScreenMod does NOT allocate the extra
  101. memory that would be required.  This would require closing all windows
  102. on the display, closing the screen, then re-opening it with the new
  103. memory allocation and then re-opening the windows -- a daunting task,
  104. especially if the programmer puts things other than standard INTUITEXT
  105. and GADGET structures on the screen (which most do).  If someone has
  106. any thoughts on this, I would love to hear them.  Perhaps it wouldn't
  107. be too hard to allocate the new memory and append it?
  108.  
  109. HEIGHT: This is the height of the screen, in pixels.  The same notes apply
  110. as to the WIDTH, above.  Experimenting with this value can produce some
  111. interesting results though.
  112.  
  113. DETAILPEN: This is the color register number that the operating system
  114. uses when drawing things like the title of the Screen.
  115.  
  116. BLOCKPEN: This is the color register number that the operating system
  117. uses when drawing things like the background of the Screen Title.
  118.  
  119. DEFAULT TITLE & TITLE:  These are simply the name of the Screen.  Keep
  120. in mind that often times the ACTUAL name of the screen is covered up
  121. by a window.  ScreenMod will have no effect on WINDOW titles, only
  122. SCREEN titles.  Secondly, some programs have turned the screen title
  123. OFF to allow a fuller display on the screen (for titling programs and
  124. so on).  ScreenMod will ONLY UPDATE THE TITLE if the program has allowed
  125. the SCREEN TITLE TO SHOW.
  126.  
  127. DEFAULT FONT: This is the default font that this screen uses, but is
  128. not currently supported in this release.
  129.  
  130. And now for the VIEW MODE flags:
  131.  
  132. HIRES: This flag should be turned ON if the screen width is greater than
  133. 320 pixels.
  134.  
  135. INTERLACE: This flag should be turned ON if the screen height is greater
  136. than 200 pixels.  However, it will produce an interesting effect if
  137. turned on when the screen is 200 pixels or less.
  138.  
  139. SPITES: This flag should be turned ON if this screen is to use hardware
  140. sprites.
  141.  
  142. DUALPF: This flag should be turned ON if this screen uses dual playfields.
  143. Dual playfields are often used in games where a "window" is necessary,
  144. like for example the window of an aircraft.  One playfield contains the
  145. cockpit and the other playfield contains a view of the sky and/or ground.
  146. When combined, the user sees the cockpit playfield which is in front,
  147. and sees the sky/ground view playfield ONLY where the "window" of the
  148. cockpit is.
  149.  
  150. HAM: This flag should be turned ON if the screen in question should be
  151. in HAM mode (4096 colors).
  152.  
  153. EXTRA_HALFBRITE: This flag should be turned ON if this program is to use
  154. the extra 32 colors available in EXTRA HALFBRITE mode.
  155.  
  156. *** NOTE: ***
  157.     Just because ScreenMod lets you modify the state of these flags
  158. it does NOT mean that the program running with that screen will take
  159. advantage of the changes.  For example, you can't make DPAINT work in
  160. HAM MODE just by changing the status of the screen.  They are changeable
  161. for experimentation purposes only although you may find some programs
  162. that do neat things because of the changes you make.
  163.  
  164. VIEW SCREEN:  By clicking this gadget, whatever screen you have highlighted
  165. from the list will be moved to the front.  To get back to the ScreenMod
  166. screen, do one of two things:
  167.  
  168.     1) Press any key on the keyboard
  169.     2) Click the RIGHT button.
  170.  
  171.     Clicking the LEFT BUTTON will cause that screens windows to
  172. become active, and then the only way back to the ScreenMod screen will be
  173. with the LEFT-AMIGA-M and LEFT-AMIGA-N keys.
  174.  
  175. ADJUST PALETTE: This one is quite useful.  It will bring the selected
  176. screen to the front and open a palette adjuster screen, which originally
  177. was written by Carolyn Schepper of Commodore, and subsequently modified.
  178.     Make any necessary palette changes, and hit CANCEL or OK and you
  179. will be brought back to the ScreenMod screen.  NOTE: Adjusting the 
  180. palette is the only modification to a screen that is IMMEDIATE.  All
  181. other parameters will not be changed until you hit REMAKE SCREEN.
  182.  
  183. UPDATE LIST: This gadget causes ScreenMod to re-read the list of screens
  184. in memory.  Use this feature when you have run another program that opens
  185. up its own screen and you want to tell ScreenMod about it.
  186.  
  187. REMAKE SCREEN: This one will put all of your changes into effect.  BE
  188. CAREFUL!!! Some changes could potentially cause a system crash although
  189. I never actually had it happen to me I have no doubt that playing with
  190. some screens will cause some programs to upchuck and die.  NEVER play
  191. with ScreenMod without having any important files saved to disk.
  192.  
  193. THE MENUS
  194. ~~~ ~~~~~
  195.  
  196. Project
  197. ~~~~~~~
  198. SAVE SETTINGS: This will bring up a window where you can type in a filename
  199. that you would like ScreenMod to save all of the changes you have made
  200. so that they can be put into effect later with ScreenSet.
  201.  
  202. HELP: This will bring up a simple reminder of the keyboard keys in the
  203. program, which are listed below.
  204.  
  205. ABOUT: This tells you author and copyright information.
  206.  
  207. QUIT: You guessed it!  Let's you shut down ScreenMod.
  208.  
  209. Special
  210. ~~~~~~~
  211. ICONIFY: This feature will close the ScreenMod screen and open a small
  212. window on the Workbench screen in the title bar.  It will lie dormant
  213. until you activate the window (left button click) and then press the
  214. right button.  Once this happens, the full screen will open back up.
  215. To have the program start ICONIFIED, specify the parameter "SMALL" from
  216. the CLI (as in "1>screenmod small").
  217.  
  218. KEYBOARD EQUIVALENTS
  219. ~~~~~~~~ ~~~~~~~~~~~
  220.  
  221. The following keys have been activated to do the same job as some of
  222. the gadgets to make you keyboard fanatics happy:
  223.  
  224. R - REMAKE SCREEN
  225. U - UPDATE LIST
  226. A - ADJUST PALETTE
  227. V - VIEW SCREEN
  228.  
  229. There is also a special key not available through a gadget:
  230.  
  231. ESC - Will reset ScreenMod's parameters.  I put this in because I found
  232. that sometimes when playing with ScreenMod's screen you could make it
  233. impossible to reach some of the gadgets (this is also why I added
  234. keyboard support) but if you really do some damage, pressing ESC will
  235. RESET everything to normal.
  236.  
  237. WHAT THIS PROGRAM ISN'T
  238. ~~~~ ~~~~ ~~~~~~~ ~~~~~
  239.  
  240.     This program was not designed to replace the fine utility
  241. ScreenX by Steve Tibbett.  If you want to PRINT SCREENS and SAVE SCREENS
  242. to IFF, use ScreenX.  It would be possible to add these features easily
  243. to this program but I see no point in redoing what someone has already
  244. more than adaquetely accomplished.  If however, you would like to see
  245. these features (or others added) please let me know.  Make sure you
  246. consult my "FEATURES TO BE ADDED" list first.
  247.  
  248. HOW THIS PROGRAM WORKS
  249. ~~~ ~~~~ ~~~~~~~ ~~~~~
  250.  
  251.     The concept of how this program works is quite simple.  ScreenMod
  252. simply asks the operating system about the Screens in memory, and stores
  253. their structures in an array.  Through the use of INTUITION, it lets you
  254. modify these structures and put the changes into effect.  I discovered
  255. however that just modifying the screen structure wasn't always good enough.
  256. For example, in order to change the LEFT EDGE and TOP EDGE parameters, both
  257. the SCREEN structure has to be modified, and the associated VIEW PORT
  258. parameters must also be changed.  A call to the "RemakeDisplay" function
  259. in the operating system takes care of the rest.  If you are a programmer,
  260. try taking out the changes to the VIEW PORT structure, and watch what
  261. effect changing the TOP EDGE parameter has.  It is QUITE interesting.
  262.  
  263. HOW THIS PROGRAM WAS WRITTEN
  264. ~~~ ~~~~ ~~~~~~~ ~~~ ~~~~~~~
  265.  
  266.     This program was developed on an Amiga 1000 with 2.5MB of RAM,
  267. using CygnusED Professional Editor, from ASDG.
  268.     This program was compiled using MANX AZTEC C V5.0.
  269.     The interface was designed using POWERWINDOWS 2.5 from INNOVATRONICS.
  270.  
  271. FEATURES TO BE ADDED
  272. ~~~~~~~~ ~~ ~~ ~~~~~
  273.  
  274.     Eventually, I would like to add some of the following features
  275. to this program.  If you're ambitious, maybe YOU would could add them
  276. for me (or not).
  277.  
  278. 1) Allow modification of the DEFAULT FONT, and add SIZE.  Actually perform
  279. a call to OpenFont or OpenDiskFont, so that all SUBSEQUENT changes in the
  280. program would be in the new font.
  281.  
  282. 2) Make ScreenSet work with PROJECT ICON's from Workbench.
  283.  
  284. 3) Allow the program to start out ICONIFIED from Workbench (add a tool
  285. type such as STARTUP=SMALL and STARTUP=NORMAL or something like that).
  286.  
  287. 4) Allow control over bitplanes and actually re-allocate (or de-allocate)
  288. any necessary memory (for width & height changes as well).
  289.  
  290. 5) Make ScreenMod relenquish it's task so that just typing it's name
  291. from the CLI would return the prompt.
  292.  
  293. 6) Add a "TIMEOUT" feature to ScreenSet so that the Screen in question
  294. does not have to be opened at the time ScreenSet is run.
  295.  
  296. 7) Allow ScreenSet to work on multiple screen changes.
  297.  
  298. 8) Either add to this program, or write a NEW program that allows this
  299. same type on manipulation over Windows.
  300.  
  301. WHAT WE'RE WORKING ON
  302. ~~~~ ~~~~~ ~~~~~~~ ~~
  303.  
  304.     Look soon for Legendary Design Technologies Inc. to be producing
  305. some commerical software.  The following titles are being worked on
  306. and might be available "someday".
  307.  
  308. 1) INVESTMENT ANALYZER - people complain not enough business software is
  309. available for the Amiga.  This one allows you to calculate ACTUAL rate
  310. of return on investments, regardless of what types of commissions or
  311. front-load fees are applied.  Works with any kind of investment, but
  312. most useful with Mutual funds.
  313.  
  314. 2) FRACTAL CONSTRUCTION SET - Yes more fractals!  But this one does
  315. animation like a breeze, will save in ANIM format directly, and is
  316. a complete tutor about fractals.  Not only does it support Mandelbrot
  317. and Julia sets, but Peano curves, Snowflake curves and so on and on!
  318.  
  319. 3) KWIKCHANGE UTILITIES - We have already developed a converter to
  320. change PAGERENDER 3D files to VIDEOSCAPE 3D files and vice versa.
  321. Allows QUICK RENDER preview of the object in 3D, and will do multiple
  322. files at once.  ** THIS PRODUCT IS FINISHED -- IF YOU WOULD LIKE
  323. FURTHER INFO PLEASE CALL OR WRITE **.  We have also developed a package
  324. that will take PRINTMASTER PLUS files and allow you save individual
  325. files as IFF, or take IFF files and convert them to PRINTMASTER PLUS
  326. format.  Also supports PRINTSHOP from the Commodore 64 (both COMMODORE
  327. and NON-COMMODORE graphic files).  Supports IBM PM PLUS files too! Will
  328. rotate and reverse the images as well, and includes a simple graphics editor.
  329. Again, call or write for more details.
  330.  
  331. 4) MARKS MASTER - The ultimate marks program for teachers.  Includes
  332. graphs, homeroom IDs, attendance sheets and so on.  Even supports
  333. POSTSCRIPT printers.
  334.  
  335. 5) We are working on an incredible 3D system that can TRULY handle
  336. curves.  Any of you ever seen ALIAS? ... I'll say no more...
  337.  
  338. 6) A multi-level fantasy adventure game. 3D perspective, great sounds,
  339. auto-mapping and save game feature.  32 incredibly nasty monsters will
  340. hinder your way, each with different intelligence and strategy.
  341.  
  342. 7) We are working on developing games for the Atari Lynx portable
  343. game system.  I know, I know.  ATARI.  But remember, the development
  344. system uses an Amiga and the thing was designed partly by Dave Needle
  345. and RJ Mical of Amiga-fame.  Uses a modified 6502 which makes us original
  346. Commodore 64 assembly language programmers right at home!
  347.  
  348. 8) We are also working on getting some sleep!
  349.  
  350. HOW TO REACH US
  351. ~~~ ~~ ~~~~~ ~~
  352.  
  353.     Legendary Design Technologies Inc.
  354.     25 Frontenac Avenue
  355.     Brantford, Ontario
  356.     CANADA  N3R 3B7
  357.     (519)-753-6120  (519)-754-4059 FAX
  358.  
  359.  
  360. Have a heck of a day!
  361.     -Syd Bolton, President.
  362.  
  363.