home *** CD-ROM | disk | FTP | other *** search
-
- _______________________________________________________________________________
- -------------------------------------------------------------------------------
- ____ ____ ____ ____ ____ ____ ____ ____ __ __ _____ ____ ____ __
- /\___\\___\\___\\___\\___\\___\ /\___\\___\\_\/\_\\____\\___\ \___\\_\
- / / __// // _ // _ // __//__ / / / __// // \/ //_ _//__ / / // /_
- / / /\ / / // __// __// __// / / / /\ / / // /\ // / / / / / / // /__\
- \/___//___//_/ \/_/ \/___//_/\_\ \/___//___//_/\/_/ \/_/\/_/\_\/___//_____/
-
- -=* THE EDITOR *=-
- _______________________________________________________________________________
- -------------------------------------------------------------------------------
-
- Version 1.0, Every OS compatible (tested on 1.3, 2.0+, 3.0)
-
- SHAREWARE ©1993 by Nadir Boussoukaia
-
-
-
- >>> AUTHOR <<< >>> DISTRIBUTOR <<<
- Write to: /--------------------------\ /----------------------------\
- | Nadir Boussoukaia | | SILICONE-DP |
- | 1 Rue Des Romanesques | | 5 Bld des Arceaux |
- | 13015 Marseille (France) | | 34000 Montpellier (France) |
- \--------------------------/ \----------------------------/
- ---> comments/Hellos ---> Purchasing the program:
- suggestions/Bugs report 30 French Francs per disk
- Demos swapping (compensed shareware).
-
-
-
- ==================================================
- ANY SERIOUS JOB PROPOSITION IS WARMLY WELCOMED.
- ==================================================
-
- -------------------------------------------------------------------------------
- Introduction
- -------------------------------------------------------------------------------
- Copper Control Editor (Let's call it CC-ED) is a general purpose copperlist
- editor, with practically no limitation (ie more than one color per rasterline
- allowed). With it you can edit and save copperlists for your machine-code
- programs or anything like.
-
- Another interesting feature is that you can save copperlists for Copper
- Control: That small program (3844 bytes) gives you the possibility to use your
- own copperlist instead of ANY NUMBER of colors, in any Intuition Screen, like
- Workbench screen for example. See other doc.
-
- CC-ED offers a user friendly DeluxePaint style editor, with a lot of features
- originals for this kind of program (like UNDO).
- It has been made in the optics of a total simplicity and functionality in use,
- in order that non-specialists could use it with no headaches ( You will find NO
- esoteric function or message !).
- However, it enforces no restrictions, so coders can use it and have at their
- disposal practically all COPPER possibilities.
-
- A French or German version could be available.
-
- Features
- --------
- - Copper Control done in short & fast assembly
- - The editor CC-ED done in AMOS 1.3 (maybe a 2.0 version in C)
- - Intuitive interface (Hope so!)
- - You can choose the color register of the copperlist
- - More than one color per line possible (every 8 pixels)
- - Possibility of multi-color register copperlists
- - Copperlists also saved as RAW or ASCII files for coders
- - Colors tables generated as RAW and ASCII files too
-
- Non-Features
- ------------
- - AGA support (not yet ?)
- - 100% bug free ! (let's talk only 99%...)
-
- -------------------------------------------------------------------------------
- Disclaimer
- -------------------------------------------------------------------------------
- THIS PROGRAM IS PROVIDED ON AN `AS IS' BASIS, NO WARRANTIES ARE MADE, EITHER
- EXPRESSED OR IMPLIED. SO THE AUTHOR DOES NOT ASSUME ANY RESPONSIBILITY OR
- LIABILITY, AND ALL USE OF THIS PROGRAM IS AT YOUR OWN RISK.
-
- -------------------------------------------------------------------------------
- Distribution & ShareWare Donation
- -------------------------------------------------------------------------------
- This product is SHAREWARE: Using it assumes that you have already payed the
- small CONTRIBUTION FEE of 30 French Francs (about 6$). Otherwise, it has been
- fixed very low, so you have no excuse: You should do it now (You'll find the
- distributor's adress at the beginning of text).
-
- After that, You could use it like you want, including in commercial
- productions, with reserve that it's not the principal object.
-
- The future of this product depends on you. If you support me I'll continue
- working on it and improve it. I have also some other projects in mind.
- But everything depends on my moral... And my moral depends on my wallet.
-
- -------------------------------------------------------------------------------
- Installation
- -------------------------------------------------------------------------------
- Copper Control Editor may be placed anywhere you want.
- It looks for an optionnal configuration file in current directory (in Workbench
- this will be the same directory than CC-ED) or in S:
- Note that This file is OPTIONNALLY needed. CC-ED needs no file, except for one
- library: I removed the use of `Mathtrans.Library', but I wasn't able to remove
- the use of `Diskfont.Library'. Though I only set ROM fonts, AMOS uses this
- library. So it must be in your LIBS:
-
- CC-ED has been compiled for Workbench, but It can be run either from CLI or
- Workbench. From CLI you should use a `Run >NIL:' to keep hand.
-
- -------------------------------------------------------------------------------
- Using Copper Control Editor
- -------------------------------------------------------------------------------
- Preliminary: I call `Color Register' one of the 32 memory cells used to stock
- colors of the palette.
-
- Once program loaded, you can see on your screen:
- - A pannel with quite a lot of gadgets,
- - A cursor composed with two sprites on the left black screen,
- - Your beautiful pinky mousepointer.
-
- You can move the cursor with:
- - Keyboard: Arrows up & down on main edit. You can speed up the move with
- shift keys (there's a different step for each shift key).
- Arrows left & right when you edit a line. Shift keys are used
- here to go directly to the beginning or the end of the edited
- line.
- - Mouse: Just click wherever you want to place the cursor.
- If you hold down mouse button on top or bottom of screen then
- copperlist smoothly scrolls.
- - Slider: Grab the slider bar and move it up and down to go where you
- want. If you don't click on the bar then there will be just
- a small jump.
-
- The program philosophy is that everything must be as simple and intuitive as
- possible. There are three ways of modifying the edited copperlist:
- - With Cursor functions:
- Most are in the `Current Line' pannel,like for example
- modify color, Edit, Delete, Insert..
- - With Block functions:
- Such as Spread, Paste, Clr, Roll. Most are in `Block'
- pannel. The using is quite logical: You first specify
- the function limits then click on the function gadget
- you want to use.
- - With MousePointer functions:
- Currently they're only two, Pick Color and Smooth. You
- first click on gadget, then use it as long as needed.
- To exit, click right mousebutton or simply go to
- functions pannel.
-
-
- Copper Control Editor allows you to display only one color per rasterline on
- main screen, for speed (making use of AMOS functions) and for simplicity in
- coding as much as in using. Imagine for example with spread function: when we
- are spreading on a few lines, How could we simply determine if we take care of
- the inside of any line or not ?
- For those reasons I decided to separate vertical and horizontal edition of the
- copperlist. So by using the EDIT LINE function, you can edit horizontally and
- display far more colors per line (usually 44 !).
- You will also have to use this in combination with TEST function to see the
- real result (see below for details).
-
- You can use the MIX feature to have multi-registers copperlists (this means
- copperlists on color00 plus color01 plus color03 for example).
- I will totally explain its using below.
-
- Practically all functions have keyboard shortcut.
- If you press the HELP key, you will change the cursor color. Test it !
-
- You must know that there's a limited number of COPPER instructions.
- It's generally about 3000 on Workbench, this corresponds to 66 edited lines of
- 44 colors. You can have more instructions in an assembly program, but Workbench
- uses a lot of them for the screens display, etc...
- However, you could have In no way 44 colors per line on 256 lines. Forget this!
- Moreover, the new COPPER in AGA chipset is more powerfull, so he could have
- more instructions available.
- So since this maximum number could change with the purpose the copperlist is
- designed for, I decided to NOT control it. So YOU must check yourself for the
- maximum number of instructions you can use. For knowing this, you have to know
- that when maximum number is overreached, the display shuts down. So save
- everything before using a large copperlist (A file larger than 10k) not tested
- before. You have been warned !
- For copperlists using on Workbench with NO RISK, simply avoid using of edited
- lines, or slightly.
- Please notice that TEST function checks number of COPPER instructions overflow:
- make use of that...
-
- I think the program is quite simple to use, so the more I can do now is simply
- to explain what each gadget do.
-
- A last advice: save as often as possible to avoid surprises !
-
- -------------------------------------------------------------------------------
- Gadgets Functions Summary
- -------------------------------------------------------------------------------
- Note that clicking on a numeric gadget allow you to edit it by keyboard.
- If there's a keyboard shortcut, it's specified in brackets.
- NB: No Explain order...
-
-
- Gadget Name Description
- -------------- ---------------------------------------------------------------
- X (Esc) Exits after a prompt.
-
- CC-ED This is the Author and program general informations.
-
- WB (Amiga+M) Go to Workbench or CLI.
- A small window is opened. You have to close it to return to
- the editor CC-ED.
-
- Hide (H) Hides the Function Pannel to have an overview of your working
- copperlist. Click again to make it appear again.
-
- Test (T) Makes another copperlist to see the real result of your work,
- And this in the currently displayed section of copperlist.
- The difference with `Hide' is that it takes care of the edited
- lines, and also of the real X positions of lines.
- If there's no edited lines the real X positions of lines will
- be practically the only difference.
-
- `Practically' because there is the interlace feature:
- When the screen is interlaced, the Workbench displays only the
- odd lines of copperlist. This is what the interlace feature do.
- So if you double-click on this gadget, a requester provides you
- to simulate the workbench interlace.
- (A trick: Under Workbench, if you shift down interlaced screen
- on one line, even lines appear in place of odd.)
-
- RMB With this you can simulate any `normal' click on any gadget
- just by clicking right mouse button.
- Click on this gadget, then click on the gadget you want to
- simulate. After this, every time you click your Right Mouse
- Button, the gadget selected will be pressed as if you have
- clicked it by positionning pointer on it and clicking with left
- one. You have not understood ? Test it, it's simpliest.
- And if you find this of no use, don't use it !
-
- UNDO (U) Allows you to cancel last modification.
- Note that Undo restores colors but also X positions.
- But Undo CANNOT restore a deleted Edited line, or its previous
- Y position. So be carefull !
-
- CLR (C) Clear: A requester asks you what you want to clear:
- Either all copperlist or only marked bloc.
- If setted, resets also X positions to $28 (40 in decimal).
-
- Config This saves your current settings in a configuration file, that
- will be reloaded in next program loading. A filerequester
- appears: the filename must be `CC-ED.config'.
- On loading, CC-ED will look for it firstly in current
- directory, and after in S: logical directory if he has not
- found it. So if don't like `S:' placed config files, you must
- save it in same directory than CC-ED for Workbench loading. By
- CLI, don't forget to use `CD' command If you want CC-ED to find
- it !
-
- Lines (L) This is a numeric gadget used to display the copperlist length.
- Click on it then a requester allows you to set the copperlist
- size. There's on the left of this requester some presets
- gadgets (256, 512, 313), providing usual sizes to be setted by
- a simple click (313 is for coders).
- If the new size is smaller than previous then current edited
- copperlist is cutted to new size, otherwise blank lines are
- added.
- Note that you can set the number of lines to anything between
- 0 and 999 (I choosed 999 arbitrary).
- This includes sizes smaller than 256.
-
- Color Sets the color register of the copperlist. Currently only a
- number between 0 and 31 is available.
-
- ---------------------------------------------------------------
- Bloc Marks Pannel
- ---------------------------------------------------------------
- A drawing is better than a long speech :
-
-
- -------------------
- | Blk Marks |
- | --------------- |
- | | [1] | |
- | --------------- |
- | ------- ------- |
- [3]-->| 000 | | <-1 |<--[2]
- | ------- ------- |
- | --------------- |
- | | [1] | |
- | --------------- |
- | ------- ------- |
- [3]-->| 999 | | <-2 |<--[2]
- | ------- ------- |
- -------------------
-
- [1] Displays you color of marked line. This is useful to be sure of
- what we do. Moreover, when clicking inside it, the cursor is
- placed on the corresponding line.
-
- [2] ([ and ]) Marks a bloc limit. This will be used by bloc functions.
- keyboard shortcuts:`[' and `]' on numeric keypad.
-
- [3] Displays line number of bloc mark.
-
- Note: No order is necessary in placing the marks. Mark #1 can
- ----- be placed on a line lower than Mark #2 or the contrary
- as well.
-
- Using Example:
- place mark #1 on line 0 and mark #2 on line 255 by positionning
- the cursor on t hese lines and clicking on gadgets [2] (numbers
- 0 and 255 must appear in gadgets [3]). You can also edit
- directly gadgets [3]. Then click on the fonction gadget you
- want to use, for example Spread or RollUp.
-
- ---------------------------------------------------------------
- Block Pannel
- ---------------------------------------------------------------
- Spread (S) This will do a normal spread between the marked lines.
- (In fact, it do a separated spread on each color component,
- Red, Green and Blue).
- If setted, this will also spread X positions.
-
- If you double-click on this gadget, a small pannel allows you
- to choose what color component (Red, Green or Blue) have to be
- included in the folllowing Spread.
- It's a user definable Spread. Click `OK' to execute it.
- What It does ?
- It normally Spreads selected components, and don't affect
- values in the copperlist of non-selected components.
- If no component is selected, nothing will be done.
- If all are selected, it will be exactly same as normal Spread.
- Why using it ? In fact, it's of use if you have to modify
- colors of a complex pattern. It's Hard to explain, so if you
- didn't understood, try to test it with complex copperlists
- (not simple spreaded), and the result will be obvious.
-
- On the rightside of the gadget, I've added a second spread
- which uses another method. I call it smoothed spread. It gives
- best results on large spreads, and especially when the RGB
- components are not proportionnal. However, on small spreads
- (less than about 32 lines), other spread have best results.
-
- Paste (P) Copy the marked bloc in memory, then paste it starting current
- line (do a copy & a paste).
- If setted, this will paste X positions.
- If setted, this will copy & paste edited lines.
- If you double-click on this gadget, a pannel with two functions
- appears: `Halve & Paste' and `Double & Paste'. These are
- self-explained, I added them to simplify conversions between
- copperlists for normal or interlaced screen.
-
- Invert (I) Inverts colors between block marks.
- Color under mark 1 and under mark 2 will be swapped,and so on..
- If setted, inverts also X positions.
- If setted, inverts also positions of edited lines.
-
- Roll UP rotates colors until you loosen mouse button. Colors on uppest
- Roll DOWN line will appear on downest line, or the contrary, and so on...
- If setted, rolls also X positions.
- If setted, rolls also positions of edited lines.
-
- ---------------------------------------------------------------
- Current Line Pannel
- ---------------------------------------------------------------
- Note: Current line is line where the cursor is placed (!)
- -----
- [1]
- T
- ---------------|-------------
- | Current | ------- |
- | ------- | | 028 | |
- | | 000 |<--+ === === <---[2]
- | ------- |<|X|>| |
- | --- --- |
- | ------- ------- ------- |
- | | 001 | | 015 | | 007 | |
- | === === === === === === |
- | |<|R|>| |<|G|>| |<|B|>| |
- | --- --- --- --- --- --- |
- ----/\-------/\--------/\----
- \________\_________\________[3]
-
- [1] Gives you number of current line.
-
- [2] Gives you starting Horizontal position (X position) of current
- line. You can have a precision of 4 pixels (hardware).
- If you double-click it, you can have at your disposal a pannel
- with specific functions on X. This pannel is more detailed
- below.
-
- [3] (|) These are the RGB values (components) of copperlist color that
- | is under current line. You can modify them with arrows. Note
- | that values loop.
- | When you double-click numeric gadgets then the corresponding
- | value is reseted instead of being edited.
- |
- +---> Keyboard Shortcuts:
- 7 - RED=RED+1 8 - RED=RED-1 9 - RED=0
- 4 - GREEN=GREEN+1 5 - GREEN=GREEN-1 6 - GREEN=0
- 1 - BLUE=BLUE+1 2 - BLUE=BLUE-1 3 - BLUE=0
-
- You can note that it's just like inside Dpaint..
-
- ---------------------------------------------------------------
- Pos X Parameters Pannel
- ---------------------------------------------------------------
- This provides you with possibility to copy the value of current
- line's X position to Bloc or also to all copperlist. You will
- surely find this useful (as I find it).
- You can also choose if the subsequent operations will affect
- the X positions. In example, this means that when you make a
- spread, values of horizontal positions will be spreaded too.
- You can moreover make a spread only on X positions.
-
- At last, you can choose the default X position for edited
- lines. So each time you edit a line for the first time, this
- value will be setted automatically.
-
- I think these little functions could save a lot of repetitive
- work.
-
- ---------------------------------------------------------------
- Line Pannel
- ---------------------------------------------------------------
- As always, a drawing is better than a long speech.
-
- ---------------------
- | ----------------- |
- | | E D I T |<---[1]
- | ----------------- |
- | ---- --[2]-- ---- |
- [3]--->|/\| | 000 | |\/|<---[3]
- | ---- ------- ---- |
- | ------- ------- |
- [4]--->| Ins | | Del |<---[5]
- | ------- ------- |
- ---------------------
-
- [1] Edit (E) With this gadget you can edit Current line. If line is already
- edited then the edit window pops up normally, otherwise the
- numeric gadget in [2] is increased before.
- You can take no care of the color under current line, as it
- will be replaced by edited line colors definitions.
-
- You can move the edit window with left mousekey on drag bar
- (like in Workbench), and you can also replace it automatically
- near cursor with right Mousekey.
-
- [2] Gives you the total number of edited lines.
- By clicking on it you can call the edited lines parameters
- pannel. This pannel is more detailed below.
-
- [3] (+ or -) Searches the next edited line upward or backward and if there's
- one also place cursor on it. When the edit window is poped up,
- extra keys are provided as shortcut: Arrows up & down (more
- intuitive).
-
- [4] Ins Inserts a line at current one. Like in any text editor, shifts
- (Enter or CR) down all lines below current. However, last line is lost.
-
- [5] Deletes current line. Like in any text editor, shifts up all
- (Del or Bkspc) lines below current. A black last line is added.
- If current line is edited and if selected, its definitions are
- also deleted, So the count of edited line is decreased in
- gadget [2].
-
- note: If Edited Line definition don't go until right screen
- ----- border, the last line's color will fill the rest.
-
- ---------------------------------------------------------------
- Edited Lines Parameters Pannel
- ---------------------------------------------------------------
- Because the memory allocation was quite big to store the
- definitions for all 999 possible lines (90 Ko) and that
- objectively we can't have 999 lines composed with 44 colors,
- I finally decided to make this buffer configurable. (In fact
- it's also because I've added line edition lastly...).
- So this is the object of this Pannel:
- - You can set the maximum of lines that could be edited,
- - And You can set the number of colors per line that will be
- reserved.
- There is a used memory indicator for full control.
-
- Moreover, there is a gadget that allows you to choose if the
- subsequent operations will affect the edited lines, if they
- could (in example Del could delete an edited line..)
-
- ---------------------------------------------------------------
- Smooth Pannel
- ---------------------------------------------------------------
- A lot of guys do this in their graphics or copperlist manually,
- and as I also do it, I decided to include this because it's a
- repetitive procedure.
-
- There are three smooth presets, allowing you to temper
- transitions between colors.
- All it do is simply swap the good lines under and above the
- line pointed by your mouse.
- To cancel, click right mouse button or go to functions pannel.
-
- Maybe there will be a totally configurable smooth in a future
- version, or maybe not because of AGA (This will be totally
- useless !). Aniway not everyone Have AGA.
- I didn't do it because of color tests and of -My Lazyness- .
-
- An extra gadget allows you to double the Smooth's range.
- I've added this for interlaced screens. On this kind of screen,
- doubled Smooth will appear like `normal' Smooth (Hello Adam !).
- Otherwise they will appear REALLY doubled !
-
- ---------------------------------------------------------------
- Pick Pannel
- ---------------------------------------------------------------
- To cancel, click right mouse button or go to functions pannel.
-
- Get (G) Allows you to get a color from copperlist. It will appear
- inside the special pointer box.
-
- Put (F) Allows you to put the last picked color into copperlist (this
- color is inside the pointer box), Until you abort.
- I couldn't use P for shortcut because it's used for Paste and F
- is close to G in most keyboards.
-
- ---------------------------------------------------------------
- Disk Pannel
- ---------------------------------------------------------------
- Load (Amiga+L) A FileRequester allows you to choose your file. If it could be
- loaded, namely if this is a copcon file, then CC-ED loads it.
- If it's a mixed file CC-ED asks you before what color register
- he must load.
- If the current copperlist size is different to that of the
- file, then you will also be prompted if you want to change it.
- if you don't change it there are two cases:
- - Either the current is smaller than file's, then the file
- copperlist will be cutted.
- - Or the file's copperlist size is smaller, then it will be
- inserted in current copperlist, at its saved position.
-
- Save (Amiga+S) After clicking on it, a quite big pannel appears. Don't panic,
- I'm going to explain it in details.
-
- In this pannel, you can choose:
- - What section of copperlist you want to save. This could be
- all copperlist or only the block that you have previously
- marked.
- A more feature is that if you choose to save only marked
- bloc, It will be saved at its real Y position, so copperlist
- will start from the lowest line of the bloc. This entails
- that the copperlist will be loaded and displayed starting
- this line by both Copper Control and CC-ED (ie if you save
- bloc between lines 200 & 255 then when loaded, its display
- will affect only these lines).
- - The saving format:
- 1 - Copcon format: Saving as Copper Control File will save
- -------------- your copperlist in a format that can be
- loaded by both Copper Control Editor and Copper Control.
- This was of course the first saving format implemented.
- Even if you don't design a copperlist especially for
- copper control, you should save it also on this format
- because you will problably have to reload it later.
-
- 2 - Asm format: Save as assembly file. I call it like this
- ----------- tough Raw save could be used in other
- languages. This saves the copperlist as real copperlist
- directly processable by Copper.
- I takes care of problems for lines under 255 (coders
- know what I mean).
- You can save as Raw file (really directly processable)
- or as ASCII file with assembly opcode `dc.w' (that you
- must assemble).
- You can also choose if the file must contain the end of
- copperlist command (The $FFFFFFFE !).
- This saving format was done for advanced users,
- otherwise it is quite useless.
-
- 3 - Tabcol format: Saving as color table. This will save
- -------------- only color values. You can also choose
- between Raw and ASCII `dc.w' format, plus an extra
- ASCII `data' format for BASIC users.
- The `Full' switcher provides you to choose if CC-ED
- saves all colors (one for each line) or only color's
- differences. For example if we have red between lines 0
- & 9, and green between lines 10 & 19, `Full' will save
- 20 colors, 10 reds following by 10 greens. `Not full'
- will save only two colors, one red and one green.
- You can find this quite useless, but -I- use it and it
- wasn't hard to implement it.
-
- Notes:
- -----
- For edited lines, there will be NO optimisation on saved
- copperlist. This means that for each edited line, for example
- of 44 colors, 44 moves will be added even if they all copy same
- color.
- This is only because of my lazyness (this is quite hard & long
- for modifying algorithms, recoding and testing them, and I
- think this extra work isn't justified because I'm practically
- sure that I will NOT be thanked for my work), so I will perhaps
- implant it in a hypothetic future version. For instant, you'll
- have to optimise it by hand. Otherwise if there is no edited
- line, saved copperlist will be as smallest as possible.
-
- Mix This function implanted to provide user the use of multi-color
- register copperlists.
- I think It was too heavy to edit directly copperlists on more
- than one register, because of proportionnal memory use, and
- possible headaches to user (!). On top of that There's the
- color display problem: a special screen might be opened in the
- correct depth divided in horizontals & verticals areas for each
- colors, or at least a switching system for each registers
- copperlists. So I finally tought it was simpliest to make
- copperlists separately and after merge them in a second time.
- This is what Mix feature do.
-
- So notice that this function is in fact independent of the rest
- of program (namely it could be a separated program). It merges
- two real copperlists into only one.
- I choosed that the two copperlists should always rest on
- different color registers, tough it's not obligatory in fact
- (It was possible to mix a copperlist between lines 1 and 10 on
- color00 with another between 240 and 255 on same color
- register. But this is also feasible using Load).
-
- When the Mix pannel appears, You can choose:
-
- - Source 1: The first Copcon file to Mix with
- - Source 2: The second Copcon file to Mix with
- - Destination: The name of destination file
- Each Time you click one of these gadgets, the Filerequester
- will appear. The small `?' gadget at their rightside will
- remember you the full pathname of the corresponding file
- selected.
-
- - Priority: Eiher Source 1 or Source 2.
- Sorry but I'm forced to be precise for explanations:
- When mixing files, the only problems appear when there are
- WAITs on same line in each source. So we must use only one
- WAIT and copy both subsequent MOVEs list. Giving the
- priority to source 1 for example will first copy MOVEs on
- source 1.
- Why using This ?
- Because the MOVEs copied in second will be shifted 8 pixels
- right, due to hardware. So it could be annoying !
-
- - Mode: This sets Copy mode in the previous explained problem:
- either we copy all moves (Normal mode), or there is the best
- matching mode: The difference in this mode is that he tries
- as possible to copy MOVEs at their original position.
- This mode is of use when there are edited lines in at least
- one source, otherwise you MUST use other copy mode.
-
-
- A small drawing to clarify Priority and Mode features:
- ------------------------------------------------------
- W=Wait, M=Move. Wait are same: Y and X are equal.
-
- ------------------------------
- Line in source 1: | W | M 1.1 | M 1.2 | M 1.3 | etc...
- ------------------------------
- : : : : :
- ------------------------------
- Line in source 2: | W | M 2.1 | M 2.2 | M 2.3 | etc...
- ------------------------------
- Result: ================:======================================================
- : : : : :
- `Copy All' Mode ------------------------------------------------------
- Priority source 1: | W | M 1.1 | M 2.1 | M 1.2 | M 2.2 | M 1.3 | M 2.3 |..
- ------------------------------------------------------
- : : : : :
- `Copy All' Mode -----------------------------------------------------
- Priority source 2: | W | M 2.1 | M 1.1 | M 2.2 | M 1.2 | M 2.3 | M 1.3 |..
- -----------------------------------------------------
- : : : : :
- `Best Match' Mode ------------------------------
- Priority source 1: | W | M 1.1 | M 2.2 | M 1.3 |...
- ------------------------------
- : : : : :
- `Best Match' Mode ------------------------------
- Priority source 2: | W | M 2.1 | M 1.2 | M 2.3 |...
- ------------------------------
-
-
- After you've setted all, Click on start gadget to begin Mixing.
- Two vu-metters will appear showing you the merging progress.
- After this, the save pannel allows you to choose the saving
- format. Please notice that `All/Bloc' and color table gadget
- are not allowed.
-
- For having a copperlist with more than two color registers,
- simply re-mix the destination file with another file on a color
- register different than the two previous, and so on until you
- have number of registers you want.
-
- -------------------------------------------------------------------------------
- Program history
- -------------------------------------------------------------------------------
- Coding this product took one week of school holidays for the first working
- version. It took me about three monthes for all the improvements I wanted to
- add ! (Of course not full time, as I was telling to you I'm student). It has
- been made as Assembly and Structured Coding exercise. In a second time, it was
- intensive code optimizing and HARD debugging. I had not enough time for the
- debugging and there are surely some BUGS left. You have to know that no large
- program can be certified 100% bug free. So be lenient, and pleeeaaase send me
- your bug(s!) report. The work progress was hampered by the idea that this was
- mainly for nothing. Prove me contrary, please consider SERIOUSLY contributing.
- I hope it's also a contribution in demonstrating Powers of COPPER & Amiga OS.
-
- A French or German version could be available.
- Any Suggestions and ideas are welcomed.
-
- -------------------------------------------------------------------------------
- BUYING SOURCE CODE
- -------------------------------------------------------------------------------
- The code of this program is very structured and optimized for minimal code size
- and memory use. If you are a beginner in coding, or if you want to see how this
- shit turns, I can sell you the full sourcecodes (AMOS and Assembly). They are
- very well commented (I do this for me!) and are very easy to read because of
- that, structured coding and extensive variables names. If you are interested,
- I can yield them to you $30 (or 150 Francs).
-
- -------------------------------------------------------------------------------
- Suggestions to Francois Lionet
- -------------------------------------------------------------------------------
- I've to give you my humble suggestions. They may be Objectless now (I've v1.3):
-
- - 'Param': it was a little better to make Functions, like C or Pascal.
- It's easier to read and little more elegant.
- - 'Data' take too much room: for about 3000 bytes of real data (on Words..),
- about 30000 took on executable !
- This forced me to avoid use it and do data storage & read by hand.
- - Arrays seems to not return good values when they are big(>1700 elements).
- - There's no possibility for the programmer to control the variables size. Why?
- - Why not considering to include an ARRAYFILL function ? 'Polygon' is amusing,
- but when you have a 30 egdes polygon to draw...
- - I think the Auto-ScreenSwap in Bob Update should not be. ie, when you display
- a double-buffered screen with 'autoback 2' (for full control of frames) plus
- another screen with an AMAL bob program WITHOUT double buffer: You can't use
- 'Bob Update Off' because of that, so you can't have full control of frames.
- I think it's better to let the user choose where and when he swaps screens.
- - I find AMOS Filerequester too slow, hawfull and irritating because of no
- buffer and no possible customization. See the mighty `Req.library'...
- - I think AMOS should be a little more WORKBENCH friendly.
- - Why there's two compiling modes (CLI or Worbench). I hope you can easily
- merge both into only one. I could understand this if there's a CLI parameters
- and Workbench tooltypes support, but this is not the case ?
- - Why there's no interlace command in SCREEN OPEN, though we could load an
- interlaced pic with LOAD IFF ? To use these screens I personally UNPACK a
- black interlaced screen: It's not serious.
- - The directory functions (dir first$,dir next$..) hide .info files but not
- files like 'filename.doc.fr.info'...
- - Why AMOS creates a blank viewport on WorkBench when we return to him using
- 'Amos to back' (this viewport is placed starting line 245-250) ?
-
- With hope you take care of these.
-
- -------------------------------------------------------------------------------
- TO DO
- -------------------------------------------------------------------------------
- - IFF pic <-> Copperlist converter: already done (see examples) but release
- in a future version because of no interface.
- - AGA support ? (I've no documentation for instant)
- - A More Powerfull Editor in C (or AMOS Pro ?)
- - ASM and ASCII `dc.w' copperlists loading
- - Edited lines optimisation
- - Add graphics primitives like draw, line, fill...
- - More customizable
- - Animated & morphed copperlists (Is it Possible ?)
- - Workbench loading for CopCon, with tooltypes, File requester...
- - Installing copperlist on other programs loading ?
- (ie when you load DirOpus,CopCon detect this and install corresponding user
- copperlist. Hello Adam ! )
-
- - Any suggestion and idea is welcomed...
- -------------------------------------------------------------------------------
- Greetings & Thanks
- -------------------------------------------------------------------------------
- - Amiga Operating System : HE do all the job, I only USE it...
- - Furthermore our marvellous COPPER !
- - Adam CARANO : for his patient support during coding & debugging time
- (receiving a dozen of `final version'), and for a lot
- of ideas and to be a REAL amiga user and supporter.
- - Mourad BELHOUCHET : For his (very) numerous good ideas, the C books,
- the Maths books, and above all for H.P Lovecraft books.
- And to be my friend.
- - Joseph COSTAGLIOLA : For NO support.
- - Stephane EISENLHOR : To simply be...
- - Jean-Louis LESIEUR : To be so bad and agressive with me. It's welfare some
- little frankness... I really love your music album
- `Lands Of Pain'. (REALLY !)
- - MICKAEL SERKIS : For spending a few of his time in correcting english
- doc.
-
- -------------------------------------------------------------------------------
- Other greetings
- -------------------------------------------------------------------------------
- - Ivan TRUJAS (Iron Man), Chritophe HERNANDEZ (The Invisible Man),
- - Loïc DUPUY, Zef & his Trash group `ETHERIZE', Fred P., Arthur,
- - Celine, Eric & Cecile, Fred M., Alain,
- - Ahmed Rehiel, Eric S., Michel, Nordine, Laurence, Rachid, Nadia, Christine,
- Sandrine, Sandra, Sabrina, Angelique, Nacer, Valerie, Youssef, Marese,
- Claude, Brigitte & Beatrice, Pio, Boule, Nadjib,
- - BATHORY,VENOM,BOLTHROWER,SEPULTURA,METALLICA,GODFLESH,CARCASS,NAPALM DEATH,
- - KLAUS SCHULZE,
- - E.M. CIORAN:
- `Exister serait une entreprise totalement impraticable
- Si on cessait d'accorder de l'importance à ce qui n'en a pas.'
- I worship your GREAT work, demo coders :
- ----------------------------------------
- The Spy(Silents), Slayer(Scoopex), Azatoth(Phenomena), Delta(Red Sector),
- Tec(CryptoBurners), Thomas Landspurg, Chaos(Sanity), Mosh(Anarchy),
- Mediator(Anarchy), Deftronic(Crionics), Lone Starr(Spaceballs), MCD(Rebels),
- Corto(quartex?), Cocy (PMC).
-