Developer diary

2020.06.22 Latest news ... A bit of forced standby

22 juin 2020
Frédéric Cordier

Hello.
Starting a new employment as Software qualification engineer takes much energy.
It makes me literraly out. If forces me to put the Amos Pro X project in standby until my adaptation to the new job will be complete.

I hope to restart soonly.

Regards,
AmiDARK


2020.05.15 Bobs+Sprites+Icons AGAP color palette Mode integration for Get, Save & Load

15 mai 2020
Frédéric Cordier

- +AmosProAGA_lib.s/IffPal : Updated to handle 'AGAP' + ColourCount.w palette when more than 32 colors are available.
- +AmosProAGA_library.s/EcCree : Updated to integrate AGAP + ColourCount.w palette when screen is created.
- +AmosProAGA_lib.s/PalRout : Updated to handle 'AGAP' + ColourCount.w palette when more than 32 colors are available.
- +AmosProAGA_lib.s/GSPal : Updated to handle 'AGAP' + ColourCount.w palette when more than 32 colors are available.
- +AmosProAGA_lib.s/Bnk.SaveA0 (SB_Icon, SB_Bob, SP_Sp) : Save Sprite/Icon Bank updated to handle AGAP + ColourCount.w palette when saving to file.
- +AmosProAGA_lib.s/Bnk.Load ( LB_Icons, LB_Sprites ) : Load Sprite/Icon bank updated to handle AGAP + ColourCount.w palette when available in the file.
- Save Sprites/Bobs/Icons banks now save banks using "AGAP" mode with up to 256 colors (currently forced to 256 but will be dynamic in the future)
- Load Sprites/Bobs/Icons banks now detect original Amos Professional 2.0 ECS banks and Amos Professional AGA ones using "AGAP" mode with correct color palette

With these changes the "AGAP" system mode is now integrated in color palette for Screens, Icons, Bobs and Sprites.
Developer can now save Icons, Sprites and Bobs banks with up to 256 colors saved.
Load Icons, Sprites and Bobx banks automatically detects if the bank is from Amos Professional 2 Original with 32 ECS colors or, if it uses the new data "AGAP" mode that stores up to 256 colors. Full color palette is saved/loaded
The use of "Get Bob Palette" is now abel to restore up to 256 colors. in a screen.


2020.05.14 Bob Get & Color Palette

14 mai 2020
Frédéric Cordier

- +AmosProAGA_lib.s/Bnk.Ric2 restored to initial state before AGA upgrade for "Get Bob" command crashes tests
- +AmosProAGA_lib.s/Bnk.Ric2 Reimplemented clean color palette support for both default ECS and new AGA.
- Fixed the Get Bob crash issue reported by Alain.Treesong by reimplementing AGA color palette saving support for Bobs/Sprites/Icons
- Removed AmosPro_Personal.lib from configuration as it caused issues.


2020.05.13 AmosPro AGA Pen/Color system Update

13 mai 2020
Frédéric Cordier

- Update AmosPro_Personal.lib to get latest paraters from d3 (AmosPro v2+) instead of all parameters from (a3)+ (AmosPro v1)
- AmosPro_Personal.lib should not be used with new AGA System (it currently crashes). It will soonly be integrated inside the AmosPro_AgaSupport.lib
- Updated the PEN/Colors methods to be compatible with AGA 00-255 colors.
- Fixed AGA Hires SPack/UnPack example


2020.05.10 AmosPro_Personal.lib update

10 mai 2020
Frédéric Cordier

- Update of the AmosPro_Personal.lib to fit Amos Pro v2 compliants and use new AGA includes automatically
- Added a new script 'aext2' to compile third party extensions and copy them directly in the AmosProAGA_System:APSystemAGA/ folder (without including them in the config)
- Added the AmosPRO_Personal.lib to the new 'aext2' script
- Remain to do : Update data get from AmosPro (old v1 used to load everything from (a3)+ and new v2+ put latest value into D3))+ en APv1.
- Update AmosPro text drawing color system to be compatible with 256 colors (instead of 207 max due to a value shifting by +48 in bytes).


2020.05.08 22:00 : Reinserting all the previous updates in the new core structure.

08 mai 2020
Frédéric Cordier

- Reincluded all changes for +w.s -> +AmosProAGA_library.s
- Reincluded all changes for +lib.s -> +AmosProAGA_lib.s
- Reincluded all changes for +Ilib.s -> +AmosProAGA_libI.s
- Reincluded all changes for +Equ.s -> +AmosProAGA_lib_Equ.s
- Reincluded all changes for +WEqu.s -> +AmosProAGA_library_Equ.s
- Reincluded all changes for +Edit.s -> +EditorAGA_Config.s
- Reincluded all changes for +Interpreter.s -> +InterpreterAGA_Config.s
- Reincluded Extensions/+AgaSupport.s
- Reincluded all changes for Extensions/+compact.s

List of all previous changes made to the Amos Professional core :

- +Compact.s/UnPack : Fixed issue that sometimes makes screen palette not correctly updated when unpack screen using more than 32 colors.
- +Lib.s/InGetIcon? : Get Icon now stores up to 256 colors icons palette.
- +Lib.s/InGetIconPalette? : Get Icon Palette now restore up to 256 colors.
- +Lib.s/InGetSprite? : Get Sprite/Bob now stores up to 256 colors bob palette.
- +Lib.s/L_InGetSpritePalette? : Get Sprite/Bob Palette now restore up to 256 colors.
- +Equ.s/TBuffer increased from 1024 to 8192 to avoid issues with AGA color palette in SPack/Unpack +Equ.s/Buffer use.
- Added new 'more intuitive' command : +Compact.s/SPack ScreenID, Left, Top, Right, Bottom To BankID
- +Compact.s/SPack : Memory corruption issue fixed
- Renamed AMOS.library to AmosPRO_AGA.library to allow both old Amos Professional and new Amos Professional AGA version to run on the same computer.
- +Compact.s/Unpack compatibility with old ECS Packed pictures/Screen is now retablished when AGA is also supported.
- +w.s/CLPopulate updated to calculate copper start screens position depending on ECS/AGA chipset in adequate with +w.s/CpInit changes.
- +w.s/detectChipset method call moved near the beginning of +w.s/Startall to be sure chipset is detected when Copper list is created
- +w.s/CpInit updated to use chipset detection and add AGA Palette only if chipset = AGA.
- Completed the fix for the bob/icon image pasting in big screen area at bottom (Dom Cresswell reported bug)
- +w.s/BobCalc : fixed calculation (from .w to .l) for image pasting screen from top-left shift.
- Found that BbAAEc(a?) storage save the bitplane shift to define where to start the 1st byte of an image on screen.
- updated all +w.s file referencies to read/write BbAAEc data to .l
- Removed ext.l on registers that are used for BbAAEc data
- Remain to fix the 2nd part of the BobCalc method that precalculate image render to screen
- added AgaSupport.s/getRgb4FromRgb8 command name : " = get rgb4 from rgb8( RGB24/25 )"
- added AgaSupport.s/getRgb8FromRgb4 command name : " = get rgb8 from rgb4( RGB12 )"
- added AgaSupport.s/retRgb12Color command name : " = "rgb12( Red4, Green4, blue4 )
- added AgaSupport.s/getRgb12rColor command name : "= rgbr12( RGB12 )"
- added AgaSupport.s/getRgb12gColor command name : "= rgbg12( RGB12 )"
- added AgaSupport.s/getRgb12bColor command name : "= rgbb12( RGB12 )"
- added AgaSupport.s/retRgb24Color command name : "= rgb24( Red8, Green8, Blue8 )"
- added AgaSupport.s/retRgb25Color command name : "= rgb25( GenlockBit, Red8, Green8, Blue8 )"
- added AgaSupport.s/getRgb24rColor command name : "= rgbr25( gRGB25 )"
- added AgaSupport.s/getRgb24gColor command name : "= rgbg25( gRGB25 )"
- added AgaSupport.s/getRgb24bColor command name : "= rgbb25( gRGB25 )"
- added AgaSupport.s/createAGAPalette command name : "= Create Aga Palette INDEX"
- added AgaSupport.s/deleteAGAPalette command name : "= Delete Aga Palette INDEX"
- added AgaSupport.s/getAgaPeletteExists command name : "= Is Aga Palette Exists( INDEX )"
- added AgaSupport.s/cscToAaPl1 command name : "Get Aga Colors From Screen SCREENID, FIRSTCOLOR,AMOUNT to AGAPALINDEX, FIRSTCOLOR"
- Checked +Lib.s/L_InLoadIff11/2 to be sure it will detect Aga/Ecs chipset -> Body uses +w.s/EcCree so, it will be limited to screen limits.
- Updated pictures for AGA samples to use my old XQuadEditor Game Maker screen captures instead of TESO ones (to not have problem concerning copyrights for Bethesda)
- Added +w.s/detectChipset to detect AGA.
- Added new library : AMOSPro_AgaSupport.lib
- added AgaSupport.s/isAgaDetected command name : "= Is Aga Detected()"
- Update +Interpreter_Config.s : set AMOSPro_AgaSupport.lib as default extension slot #7
- Update +w.s/EcCree : To handle both ECS & AGA on screen creation (including new error messages)
- Added +w.s/EcCree restriction to standart screens to be multiple of 16 pixels. Fetched ones -> multiple of 64 pixels
- Update +w.s/Duale : To handle both ECS & AGA on dual playfield setup
- Update +Editor_Config.s : New error messages added
- Updated SetPalette, GetPalette to also store AGA colors inside Screen Structure (before it saved only in global aga palette)
- Updated +Lib./Sco0 Screen Copy to handle up to 8 bitplanes (was locked to max 6 bitplanes)
- Fixed +Lib.s/iffPal to correctly handle the refresh of up to 256 colors.
- Update +w.s/EcDouble double buffer creation to handle 64 bits bitmap alignemnts.
- Update +w.s/EcDel screen close method to handle both buffers (single and double one) with new buffer creation mode.
- Update +Lib.s/IffPal to handle up to 256 colors in IFF Animations
- Changed the place where the configuration are copied at compilation time (moved them to AMOS/S)
- Changed a place where AMOS.library was copied at compilation time (to AMOS/Libs)
- Moved the concerned files to place where they should be.
- Updated SPack SCR to BANK to handle saving of the 256 colors in the picture packing process.
- Added +w.s/updateAGAColorsInCopper to update the AGA Color palette when screen is opened or unpack done in it.
- Updated Unpack BANK to SCREEN to handle restoring up to 256 colors when unpacking.
- Increased all the APCmp buffers to makes compilation works with large .AMOS files
- Updated compiler.lib & APCmp with changes for the AGA support.
- Updated +W.s/WVbl WaitVbl to use Graphics.library/WaitTOF() instead of manual calculation.
- Fixed the Hires 640px fine scrolling by updating +W.s/WVbl.
- Updated +W.s/EcCree to Add 64bits alignment for Bitmap creation.
- Updated +W.s/EcCopHo to Add DDFStrt & BplxMOD changes when using Fetch Mode in HiRes resolutions.
- Updated +W.s/EcCree screen sizes limitation from 1024x1024 pixels to 2048x2048 pixels
- Updated +Lib.s/L_InScreenOpen to remove Hires limitation to 4 bitplanes.
- Updated +Equ.s/FMode equate to point to register #$1FC to handle AGA Fetch Mode
- Updated +W.s/EcCree by rewritting the Bitmap Allocation to use BMF_DISPLAYABLE to handle Hires.
- Updated +W.s/EcCree to handle FMode depending on screen resolution requested.
- Updated to Includes3.1
- Updated Colour I,R4G4B4 to work with up to 256 colors
- Updated copper list to define colors 32-255 before screens (just after sprites)
- Updated Screen creation to uses up to 8 bitplanes ( 256 colors )
- Updated Created a global aga Palette color for 32-255 colors registers
- Updated commands Colour ID,RGB & =Colour(ID) to be compatible with up to 256 colors
- Added method +W.s/getScr2Color to copy colors 0-15 from screen 1 into colors 16-31 of color 0 in Dual Playfield mode.
- Updated +W.s/Duale to call +W.s/getScr2Color when Dual Playfield is created.
- Updated +Lib.s/InScreenDisplay to call WaitVbl once screen values were updated to fix a bug with "Dual Playfield" command
- Updated +W.s/EcCopHo method to handle bplCon3 value from Screen structure data instead of a direct value.
- Updated +W.s/Duale method to insert color shifting value inside the BplCon3 screen structure data.
- Updated +W.s/EcCree method to setup the default color shifting value a screen will force to use different color palette.
- Updated +Lib.s/L_InScreenOpen to uses #EcMaxPlans+1 instead of direct #7 value.
- Added comments to +W.s/EcOffs (Screen Offset)
- Added comments to +W.s/EcView (Screen display)
- Added comments to +Equ.s concerning Screen strcture offsets/display data
- Created +W.s/CLPopulate reference to point to a particular position in the Copper refresh (where the copper list will be populated)
- Added comments to +W.s/CLPopulate to explain how copper list are populated with screens, rainbows, etc.
- Updated +Equ.s with BplCon3gl rs.w for default BplCon3 values concerning Sprites & special registers values.
- Updated +W.s/EcCopBa method to reset BplCon3 (be sure that Dual Playfield are correctly closed and palette to 0.)
- Added many comments to +W.s/EcForceCop method (unfinished)
- Updates +W.s/EcCree to handle 8 bitplanes with BPU3 field in standard screens (non DPF)
- Updated DualPlayfields AMOS sample to contains WAIT VBL calls after "Screen Display" calls (as they require this to work)
- Updated +W.s/EcCopHo method by inserting BplCon3 register to allow 2nd Dual Playfield Screen to use colors 16-31 [Temporar change]
- execute aData to update Editor_Config
- execute aw to update Amos.library
- Updated the new DualPlayfield scrolling test demo.
- Updated +W.s/Duale method to handle 2x16 colors lowres dual playfields
- Updated +W.s to handle 6 new error messages for Duale method
- Updated +W.s/Duale method to output errors using the 6 new error messages.
- Updated +Editor_Config.s file to contains the 6 new error messages ( Edt204-209 )
- execute aData to update Editor_Config
- execute aw to update Amos.library
- Restart from AMOSProfessional original source code from marc365 repository.
- Updated +lib.s from my AMOSCommenter JAVA tool.
- Added +lib_mList.s containing all the AMOS commands definition from +lib.s
- Updated extensions +Compact.s, +IO_Ports.s, +Music.s, and +Request.s from my AMOSCommenter JAVA Tool.
- Added +Compact_mList.s, +IO_Ports_mList.s, +Music_mList.s and +Request_mList.s containing the plugin AMOS commands definitions
- Updated my own extensions/Personal-1.1a library to be compilable like others files.


2020.05.04-06 Reorganization of the project

07 mai 2020
Frédéric Cordier

With what I announced in the main page of the mini-site, I have started a full project reorganization to makes it more convenient for the development of AGA support.

Here are the structural changes done these days :

- Project entirely restarted from source.
- Used Marc365 repository as François's one is unusable until fixing special characters issues in many source code files. (François Lionet MIT Licence headers added to the private source codes)
- Reinstall the stable version of AMOS Professional on AmigaHD
- Removed directory "AMOSPro Sources" as useless
- Updated compilation directory from "AMOS" to "AmosProAGA_Build"
- ADATA : Updated all Editor_Config* referencies to EditorAGA_Config* to allow both original Amos Professional and Amos Professional AGA to run on the same computer.
- ADATA : Updated all Interpreter_Config* referencies to InterpreterAGA_Config* to allow both original Amos Professional and Amos Professional AGA to run on the same computer.
- ADATA : Updated all "AMOS" referencies with "AmosProAGA_Build"
- ADATA : Updated all "APSystem" referencies with "APSystemAGA" to allow both original Amos Professional and Amos Professional AGA to run on the same computer.
- AEDIT : Updated to use new AmosProAGA_Build directory as output, instead of previous "AMOS" one.
- AW : Renamed AMOS.library to AMOSProAGA.library to allow both original Amos Professional and Amos Professional AGA to run on the same computer.
- AW : Renamed +W.s to +AMOSProAGA_library.s
- AW : Updated compilation output path from "AMOS" to "AmosProAGA_Build"
- ALIB : Updated "c/genam FROM +lib.s TO AMOS/APSystem/AMOSPro.Lib" to "c/genam FROM +AmosProAGA_lib.s TO AmosProAGA_Build/APSystemAGA/AmosProAGA.Lib"
- AMON : Updated to use new AmosProAGA_Build directory as output, instead of previous "AMOS" one.
- ATOOLS : Updated to continue to use old AmosPro 2.0 to compile the tools.
- C/MAKE_Labels.AMOS updated +ILib.s to +AmosProAGA_LibI.s
- C/MAKE_Labels.AMOS updated +ILib_Size.s to +AmosProAGA_LibI_Size.s
- C/MAKE_Labels.AMOS updated +ILib_Functions.s to +AmosProAGA_LibI_Functions.s
- C/MAKE_Labels.AMOS updated +lib.s reference to AmosProAGA_Lib.s
- C/MAKE_Labels.AMOS updated +LEqu.s to +AmosProAGA_Lib_Equ.s
- C/MAKE_Labels.AMOS updated +Lib_Size.s to +AmosProAGA_Lib_Size.s
- C/MAKE_Toktable.AMOS updated +lib.s reference to AmosProAGA_Lib.s
- Renamed +WEqu.s to +AMOSProAGA_library_Equ.s
- +AMOS_Includes.s : Updated +WEqu.s reference to +AmosProAGA_Library_Equ.s
- +B.s : Updated referencies to AMOS.library with AMOSProAGA.library
- +B.s : Updated referencies to AMOSPro_Interpreter_Config with AMOSProAGA_Interpreter_Config
- +B.s, +Editor_Config.s : Updated AMOSPro_System: to AMOSProAGA_System:
- +B.s, +Editor_Config.s : Updated AMOSPro_Accessories: to AMOSProAGA_Accessories:
- +B.s, +Editor_Config.s, +Interpreter_Config.s : Updated AMOSPro_Productivity1: to AMOSProAGA_Productivity1:
- +B.s, +Editor_Config.s : Updated AMOSPro_Productivity2: to AMOSProAGA_Productivity2:
- +B.s, +Editor_Config.s : Updated AMOSPro_Tutorial: to AMOSProAGA_Tutorial:
- +B.s, +Editor_Config.s : Updated AMOSPro_Examples: to AMOSProAGA_Examples:
- +B.s, +Editor_Config.s : Updated AMOSPro_Compiler: to AMOSProAGA_Compiler:
- +B.s, +Editor_Config.s : Updated AMOSPro_Extras: to AMOSProAGA_Extras:
- +Editor_Confis.s, +Interpreter_Config.s : Updated AMOSPro_Accesories: with AMOSProAGA_Accessories
- +Editor_Config.s, +Interpreter_Config.s : Updated AMOSPro_Help with AMOSProAGA_Help
- +Editor_Config.s : Updated AMOSPro_Help.AMOS with AMOSProAGA_Help.AMOS
- +Editor_Config.s : Updated Interpreter_Config.AMOS with InterpreterAGA_Config.AMOS
- +Editor_Config.s : Updated Editor_Config.AMOS with EditorAGA_Config.AMOS
- +Editor_Config.s : Updated AMOSPro.Lib with AMOSProAGA.Lib
- Extensions/ACOMPACT : Updated to compile to new "AmosProAGA_Build/APSystemAGA" directory instead of previous "AMOS/APSystem"
- Extensions/AIO : Updated to compile to new "AmosProAGA_Build/APSystemAGA" directory instead of previous "AMOS/APSystem"
- Extensions/AMUSIC : Updated to compile to new "AmosProAGA_Build/APSystemAGA" directory instead of previous "AMOS/APSystem"
- Extensions/AREQUEST : Updated to compile to new "AmosProAGA_Build/APSystemAGA" directory instead of previous "AMOS/APSystem"
- Compiler/ACDATA : Updated to compile to new "AmosProAGA_Build" directory instead of previous "AMOS"
- Compiler/ACLIB : Updated to compile to new "AmosProAGA_Build" directory instead of previous "AMOS"
- Compiler/ACOMP : Updated to compile to new "AmosProAGA_Build" directory instead of previous "AMOS"
- Compiler/ACOMPEXT : Updated to compile to new "AmosProAGA_Build" directory instead of previous "AMOS"
- Compiler/AHEADER : Updated to compile to new "AmosProAGA_Build" directory instead of previous "AMOS"
- Kept old AmosPro version in a specific directory to uses it to recompiles aTools with classic AMOS
- Renamed +CEqu.s to +AmosProAGA_CEqu.s
- Renamed +Equ.s to +AmosProAGA_Equ.s
- Renamed +Debug.s to +AmosProAGA_Debug.s
- Updated +AMOS_Includes.s to +CEqu.s, +Equ.s and +Debug.s names changing.
- Updated +EditorAGA_Config.s to mention Official Francois Lionet MIT Licence terms + Link for the official GitHub repository.
- +B.s : Renamed to +AmosProAGA_Loaders.s
- APRO : Updated +B.s for name changing.
- +Monitor.s : Renamed to : AmosProAGA_Monitor.s
- AMON : updated +Monitor.s for name changing.
- +Edit.s : Renamed to AmosProAGA_Editor.s
- AEDIT : updated +Edit.s for name changing.
- +CLib.s : renamed to AmosProAGA_CLib.s
- +Version.s : Renamed to +AmosProAGA_Version.s
- +Verif.s : Renamed to +AmosProAGA_Verif.s

- Compilation Successfull
- Reconstruction of a full version for future Amos Professional AGA releases.
- AmosProAGA tests : Functionnal.

All features that were included in the previous versions will be re-injected but directly with 24bits RGB colors support.

Regards,


2020.05.02 : Icons & Bobs AGA color Palette WIP

02 mai 2020
Frédéric Cordier

- +Compact.s/UnPack : Fixed issue that sometimes makes screen palette not correctly updated when unpack screen using more than 32 colors.
- +Lib.s/InGetIcon? : Get Icon now stores up to 256 colors icons palette.
- +Lib.s/InGetIconPalette? : Get Icon Palette now restore up to 256 colors.
- +Lib.s/InGetSprite? : Get Sprite/Bob now stores up to 256 colors bob palette.
- +Lib.s/L_InGetSpritePalette? : Get Sprite/Bob Palette now restore up to 256 colors.


2020.05.01 [Release] : AMOS.library become AmosPro_AGA.library + SPack/UnPack ECS/AGA support completed + New SPack Command

01 mai 2020
Frédéric Cordier

- +Equ.s/TBuffer increased from 1024 to 8192 to avoid issues with AGA color palette in SPack/Unpack +Equ.s/Buffer use and other uses.
- Added new 'more intuitive' command : +Compact.s/SPack ScreenID, Left, Top, Right, Bottom To BankID
- +Compact.s/SPack : Memory corruption issue fixed
- Commands/Help for informations about SPack & UnPack improvements/Changes and compatibilities with older AMOS Professional versions.
- Renamed AMOS.library to AmosPro_AGA.library to allow both old Amos Professional ( with AMOS.library) and new Amos Professional AGA version (with AmosPro_AGA.library) to run on the same computer without conflicting.
- +Compact.s/Unpack compatibility with old ECS Packed pictures/Screen is now retablished when AGA is also supported.


2020.05.01 New command added : compact.lib/Spack ScreenID, Left, Top, Right, Bottom To BankID

01 mai 2020
Frédéric Cordier

It's just a variant of the existing command : SPack ScreenID To BankID, Left, Top, Right, Bottom
I found the order more logical when entering screen coordinate after ScreenID and before BankID.

Due to that insert in the compat.lib, Unpack commands will not be recognized and must be updated inside existing AMOS Professional source code (.AMOS Files).