25 September 2013, 18:40 | #721 | |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
Hi Leandro,
no, I never had such an issue. Try again with the current version, please. It should work You can always find the complete package on Aminet and some updates here attached to the first post of this thread. Quote:
Are you still using my icon.library or are you working with the ROM based icon.library and workbench.library v40? In the latter case, you should not use NiRTGset and delete or rename ENVARC:NewIcon.prefs. Last edited by PeterK; 25 September 2013 at 20:34. |
|
26 September 2013, 04:22 | #722 | |
Registered User
Join Date: Nov 2009
Location: Legoland
Age: 45
Posts: 1,461
|
Quote:
|
|
26 September 2013, 04:37 | #723 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
Which WinUAE version and settings? More details, plz.
Post your s-s as a txt-file, plz. Which newicon.library version, low, mid, hi, emulated ? Don't use the emulated newicon.library together with the NewOcons patch. Did you already delete the ENVARC:NewIcons.prefs file as suggested ? Post some of the icons from the drawer that freezes. Thanks ! Stupid question: What happens when your system freezes? Can you still move the mouse pointer? Can you close the window? Can you access the Workbench menu? Or just nothing at all. Are there any icons appearing in the freezing window? Last edited by PeterK; 26 September 2013 at 05:47. |
30 September 2013, 16:54 | #724 |
Registered User
Join Date: Sep 2013
Location: HK
Posts: 13
|
This is embarrsing - its been so long since I touched the Amiga I totally have no idea how to install these icsons... is there a "dummies" guide on how to install this? I am at a loss.
|
30 September 2013, 17:35 | #725 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
Hi solomani,
it's not easy to make the right suggestion what you should install on your system, since all I know is that you are running WB 3.1, but I have no idea what your hardware is, which CPU, how fast and equipped with ECS or AGA or with a gfx-card ??? There are many different icon types available like the old-style planar icons with just 4 colors or the MWB-icons with 8 colors. And then there are also the NewIcons and the OS 3.5 "GlowIcons" with up to 256 colors and finally the TrueColor icons like the PNG icons and the OS4 icons. But don't worry, you can use all of these icons even with WB 3.1 if you install my icon.library 46.4.xxx on your system. Attached to the first post of this thread you will find my IconDemoADF package, which can be copied onto a floppy disk and then booted in order to demonstrate how to install and use my icon.library on systems with OS 3.0 or better. Just try it out, but always remember that loading icons from a floppy is very slow. It should be used to compare the startup-sequence and the supplied files with those on your own system. If you want to find some icon sets, here is a list where they can be downloaded: http://www.five-star.com/kens_icons/downloads http://www.masonicons.info/4.html http://www.amiga-look.org/category/glowicons http://www.os4depot.net/index.php?fu...=graphics/icon http://aminet.net/pix/gicon http://aminet.net/pix/icon http://aminet.net/pix/mwb http://aminet.net/pix/nicon http://aminet.net/pix/picon To install these icons use tools like Stephan Rupprecht's CopyIcon, which is also on my IconDemoADF already. It opens a small GUI where you can drag&drop the source icon to the left window and the destination icon(s) to the right and then it will only swap the images, and won't change the tooltypes of the target. Last edited by PeterK; 30 September 2013 at 17:41. |
30 September 2013, 19:45 | #726 |
A1260T/PPC/BV/SCSI/NET
Join Date: Jan 2013
Location: Moscow / Russia
Posts: 840
|
Wb 1.3 - 2.0
I don't like the behaviour of the new lib 44.4.327 regarding colour management of old icons.
eg. here it fails with AMOS icons, and the InvertWB20colours tool is not working (or at least I don't see any changes) Also 1.3 / 2.0 should only swap Black & White, background is transparent (ALWAYS!) and the other colour can be anything (yellow/orange in original 1.3, sometimes red, green, brown and in 2.0 it defaults to blue, but some configs it's red or anything really) but filling the background colour with blue is wrong. amos.lha old lib new lib |
30 September 2013, 19:59 | #727 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
Ok Michael,
just use the version 46.4.326 from Aminet. The updates here are always experimental, and maybe I will make this 1.3 / 2.0 color swapping optional. I'm sorry, but I can't make it right for everybody. If Amos gets the wrong colors then the version flag in the DiskObject structure has not been set correctly. I've already expected that things like this will happen sooner or later. The "InvertWB20colors" tool is for WB 1.3, of course, and it works ! Indeed, I've just checked your icons, with the result that only the "APSystem.info" drawer icon is correctly marked as a WB 2.0+ icon. The other three icons don't have this flag set at offset $2F and thus are detected as WB 1.3 icons. Fixed AMOS icons attached: Last edited by PeterK; 30 September 2013 at 20:35. |
02 October 2013, 13:39 | #728 |
Registered User
Join Date: Jul 2008
Location: Poland
Posts: 663
|
Hello PeterK, in this thread we are optimizing screen rendering in NetSurf AGA.
We need to convert 24bit color to 8bit. I think in your lib you have such code and better in asm. What do you think? |
02 October 2013, 21:03 | #729 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
Hello arti,
yes, I've indeed a small routine for the color reduction from ARGB into single byte (palette mapped) values for up to 256 colors. I hope that you can interpret and understand my code at least partially. Don't hesitate to ask me to explain the details again. Code:
Register usage and offsets: A0 => the resulting pixel byte values (up to 256 colors as index to A1) A1 => up to 256 RGB triplets (each 3*8 bit) A2 = $34(SP) pointer to the top of the ARGB image data $38(SP) pointer below end of the ARGB image data A3 = $4c(SP) a 256 word stack buffer for compare words A6 => PalMap structure for the palette mapping ; $112+ 274+ sizeof(PalMap) ; =============================== ; $00 0 2 width ; $02 2 2 height ; $04 4 4 * image bytes (->offset $114) ; $08 8 256 colormap CLUT (->screen pens) ; $108 264 4 * colormap RGB bytes (below) ; $10c 268 1 flags, bit 0 = transparency ; $10d 269 1 transparent color reg number ; $10e 270 2 number of icon colors ; $110 272 2 number of icon colors mapped ; ------------------------------------------------- ; $112 2 alignment for faster copying ; $114 276 xxx image bytes (->colormap CLUT) ; $??? ??? xxx colormap RGB bytes (24 bit) The routine starts with two fast colorscans, just reading every 55'th pixel on the first run, and then with an offset of 28 pixels again on the second run. The colors of these pixels are already stored in the compare word table and written to the RGB triplets, but are not yet assigned to the image pixel bytes. These colorscans are done to avoid filling up the color table with colors only from the very first image lines. After the colorscan the normal ARGB reading and color reduction begins. Pixels with an alpha channel value of less than 70 (dec) will be transparent and are assigned to color 0. The ARGB of visible pixels is filtered by D2=0xF8FcF8 (RGB = 565 bits) which is later used for the RGB triplet value. The RGB level of every second pixel is pushed up by 1 bit, 3 bits and 1 bit which gives some very primitive dithering effect but is still very fast. The ARGB longword is then converted into a compare word (rrrgggggbbbbb0rr), and compared with the already existing colors on the stack table (A3). If there is no matching color that could be assigned then the pixel gets a new color as long as the limit for new assignments is not exceeded. When the limit has been reached then the comparison will be made with less bits. .ARGBtoPalMap MOVE.L D4,D0 ; full size of image ADDQ.L #3,D0 ; rounded up to ANDI.B #$FC,D0 ; longword size ADDI.L #($300+$112+2),D0 ; + 768 + PalMap + 2 LEA $4E(A3),A0 ; freelist MOVEA.L D0,A1 ; bytes MOVEA.W #MEMF_PUBLIC,A2 MOVEA.L A5,A6 ; iconbase JSR _LVOFreeAlloc(A6) TST.L D0 BEQ.W .nofreestore MOVEA.L D0,A6 MOVEA.L A6,A0 ; * fullsize PalMap MOVEQ #0,D0 MOVE.L $30(SP),(A0)+ ; PalMap width, height MOVEQ #$45-2,D1 ; clear struct PalMap .clearstructPalMap MOVE.L D0,(A0)+ DBRA D1,.clearstructPalMap MOVE.L A0,4(A6) ; * chunky image bytes MOVE.L D4,D0 ; full size of image ADDQ.L #3,D0 ; rounded up to ANDI.B #$FC,D0 ; longword size MOVEA.L A0,A1 ADDA.L D0,A1 ; + long size of image MOVE.L A1,$108(A6) ; * colormap RGB bytes CLR.W (A1)+ ; clear color number 0 CLR.B (A1)+ BSET.B #0,$10C(A6) ; set transparency on ; conversion starts here: -------------------------------------------------------------------------------------------------------------- MOVEM.L D4/A3-A4/A6,-(SP) MOVEA.L $34+$10(SP),A2 ; * ARGB image data LEA $4C+$10(SP),A3 ; 256 word stackbuffer MOVE.L #$00F8FCF8,D2 ; RGB 5+6+5 bit filter MOVEQ #-1,D6 MOVEA.L A0,A6 ; mapping of 1. pixel .scanimagecolors SUBQ.W #1,A0 ; point to unused byte .fillARGBPalMap CMP.B #70,(A2) ; 8 bit alpha channel BCC.S .visiblecolor ADDQ.W #4,A2 .settransparent CLR.B (A0)+ ; map alpha<70 to pen0 .checkifdone CMPA.L A6,A0 ; pointer to 1. pixel? BEQ.S .imagecolorscan CMPA.L $38+$10(SP),A2 BCS.S .fillARGBPalMap MOVEQ #0,D5 ADDQ.L #2,D6 MOVEM.L (SP)+,D4/A3-A4/A6 MOVE.W D6,$10E(A6) ; number of i-colors BRA.W .returnPalMap .imagecolorscan LEA (55*4)(A2),A2 ; skip next 55 pixels CMPA.L $38+$10(SP),A2 BCS.S .scanimagecolors MOVEA.L $34+$10(SP),A2 ; * ARGB image data BSET.B #0,-2(A6) ; test and set a flag BNE.S .fillARGBPalMap LEA (28*4)(A2),A2 BRA.S .scanimagecolors ; second color scan .addanothercolor SUBQ.W #3,A2 MOVE.B (A2)+,(A1)+ MOVE.W (A2)+,(A1)+ ; store RGB triplets ADDQ.W #2,A3 ; next compare word ADDQ.L #1,D6 MOVE.L D6,D1 .colorfound ADDQ.L #1,D1 MOVE.B D1,(A0)+ ; pixel -> register BRA.S .checkifdone .visiblecolor MOVE.L A2,D0 LSR.L #3,D0 ; every 2. longword BCC.S .buildcompareword LEA 3(A2),A4 ADDQ.B #1,(A4) ; push up blue level BCC.S .pushupgreenlevel SCS (A4) .pushupgreenlevel ADDQ.B #3,-(A4) BCC.S .pushupredlevel SCS (A4) .pushupredlevel ADDQ.B #1,-(A4) BCC.S .buildcompareword SCS (A4) .buildcompareword AND.L D2,(A2) SUBQ.B #8,(A2) ; mark visible again MOVE.W (A2)+,D0 ; 11111000rrrrr000 LSL.W #5,D0 ; 000rrrrr00000000 MOVE.B (A2)+,D0 ; 000rrrrrgggggg00 AND.B D2,D0 ; 000rrrrrggggg000 ROL.W #5,D0 ; rrrggggg000000rr OR.B (A2)+,D0 ; 5+5+5 compare word MOVE.W D0,(A3) ; store compare word MOVE.L D6,D1 BMI.S .addanothercolor MOVEA.L A3,A4 .comparecolors555 CMP.W -(A4),D0 DBEQ D1,.comparecolors555 BEQ.S .colorfound CMPI.B #100,D6 ; used pens < 100 ? BCS.S .addanothercolor MOVEA.L A3,A4 MOVE.W #$DEFB,D4 ; rr0gggg0bbbbb.rr AND.W D4,D0 MOVE.L D6,D1 .comparecolors445 MOVE.W -(A4),D5 AND.W D4,D5 CMP.W D0,D5 DBEQ D1,.comparecolors445 BEQ.S .colorfound CMPI.B #210,D6 ; used pens < 210 ? BCS.S .addanothercolor MOVEA.L A3,A4 MOVE.W #$9CE3,D4 ; r00ggg00bbb00.rr AND.W D4,D0 MOVE.L D6,D1 .comparecolors333 MOVE.W -(A4),D5 AND.W D4,D5 CMP.W D0,D5 DBEQ D1,.comparecolors333 BEQ.S .colorfound CMPI.B #240,D6 ; used pens < 240 ? BCS.W .addanothercolor MOVEA.L A3,A4 MOVE.W #$18C3,D4 ; 000gg000bb000.rr AND.W D4,D0 MOVE.L D6,D1 .comparecolors222 MOVE.W -(A4),D5 AND.W D4,D5 CMP.W D0,D5 DBEQ D1,.comparecolors222 BEQ.W .colorfound CMPI.B #254,D6 ; are all pens used ? BCS.W .addanothercolor MOVEA.L A3,A4 MOVE.W #$1082,D4 ; 000g0000b0000.r0 AND.W D4,D0 MOVE.L D6,D1 .comparecolors111 MOVE.W -(A4),D5 AND.W D4,D5 CMP.W D0,D5 DBEQ D1,.comparecolors111 BEQ.W .colorfound BRA.W .settransparent Last edited by PeterK; 03 October 2013 at 07:38. |
03 October 2013, 11:56 | #730 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
@PeterK
From your readme ..."For more speed I would recommend to call the instruction FastColors above LoadWB and you may also reduce your screen depth a little since it seems to be impossible to load the icons into the FastMem on an 68000 system."... Could you explain a bit more technically what does the FastColors command do? Will it produce any negative effects on high-end Amigas? |
03 October 2013, 12:42 | #731 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
The FastColors instruction is for those systems which cannot use Sys:Prefs/Workbench to set the icon quality to "Bad".
If you use FastColors or set the icon quality to "Bad" then a faster colormapping procedure will be activated. There is a cache for up to 512 colors which are directly corresponding with the three highest bits of the color components RGB (3*3 bits = 9 bits = 512 colors). This method is much faster because you only need about 400 color compares ONCE for a complete screen and all the icons instead of maybe 200 color compares for EVERY SINGLE icon image. But, of course, the drawback is that each of these cached colors has a minimal distance to the next possible colors in its neighbourhood. This will cause some color banding effects sometimes when you would need smooth color fades instead. On the other hand, the speed improvement can be so big that it is possible to switch to a screen mode with a higher depth which may give you better results and can compensate these quality losses by a higher total number of screen colors. On high-end Amigas with a gfx-card you won't get any negative effects since these systems will benefit from the direct drawing. It's just the opposite, the faster colormapping is always enabled together with the direct drawing to give it an extra speed boost. Last edited by PeterK; 03 October 2013 at 12:47. |
03 October 2013, 14:21 | #732 | ||
Registered User
Join Date: Sep 2013
Location: HK
Posts: 13
|
Quote:
Hi Peter, I am running FS-UAE on my 2013 iMAC 27”. I have it emulating an Amiga 4000/040 with maxed setting for ram etc under Workbench 3.1. Quote:
I guess I am lost at what to do at the icon screen on IconDemo: At this point I hazard to guess I need to:
|
||
03 October 2013, 15:46 | #733 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
@PeterK
Thank you for your explanation and patience |
03 October 2013, 16:35 | #734 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
To PeterK:
I've tried assembling some of the helper programs for your library, and I can't get them to assemble. Are you using NDK3.9 includes? If not, could you upload an archive of your include: directory to the zone? I want to see if I can't find things to optimize and maybe improve, but like this I can't even assemble the software |
03 October 2013, 17:57 | #735 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
Hi Thorham,
the Amiga OS 3.9 NDK can be downloaded here: http://os.amigaworld.de/index.php?lang=en&page=12 Additional, you may need my collection of LVOs and you should ensure that your assembler (I'm using PhxAss) treats all labels and symbols case-sensitive. http://pb-owl.de/~frank/phxass_e.html If it still refuses to compile, tell me which error messages you get. Thanks. Last edited by PeterK; 03 October 2013 at 18:25. |
03 October 2013, 18:06 | #736 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
@solomani
First, try to boot from my IconDemoADF image to see if that works on your system. You should get all kind of different icon types correctly displayed. AND PLEASE, make smaller screenshots and just attach them, so that they are displayed as thumbnails. Thanks ! |
03 October 2013, 19:40 | #737 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
To PeterK:
Hi, Thanks for your LVO file, but it's not enough, and I'm getting plenty of errors (using PhxAss 4.40): 1. Symbol was declared twice (SOFFSET in datatypes/pictureclass.i) 2. Unknown directive eqz in workbench/workbench.i 3. lvo/cybergraphics_lib.i doesn't exist and it doesn't seem to be include in the cybergrpahics dev kit on Aminet. 4. Multiple missing bracket or parenthesis errors in cyberhraphics.i 5. Numerous other symbol declared twice errors. I almost seems like the archives I used (cybergraphics dev kit and NDK3.9) got unpacked incorrectly or something. Could you by any chance pack your include: dir? |
04 October 2013, 01:48 | #738 |
Ruler of the Universe
Join Date: Mar 2010
Location: Lanzarote/Spain
Posts: 6,195
|
I have to comment, but I'm not sure when was the change, in what of your recent versions, but your icon.library has improved recently (well, sorry, perhaps in a month and a half) a lot the speed to show the icons.
The thing is that I don't use much the real thing, and on WinUAE your versions (as they are so "fast"), they look the same... BUT I can tell I've tried it these days on my A1200 ACA1231/42 ("normal" acceleration), and it goes much, much faster than before. AmiKit Real runs very very well with it (16 colors of course) . Edit: Well, I've changed some things to speed my System up, and also changed ACATune to work much better, but I think your library is much better too. Last edited by Retrofan; 04 October 2013 at 01:56. |
04 October 2013, 21:08 | #739 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,378
|
@Thorham
Ok, Includes are in the zone. Please set the assembler option for case-sensitive symbols. @Retrofan Thanks a lot for the feedback Last edited by PeterK; 05 October 2013 at 00:48. |
05 October 2013, 00:57 | #740 | |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Still can't assemble the library, though I'm getting four errors: Code:
PhxAss MC680x0/68851/6888x Macro Assembler v4.40 Copyright 1991-2001 by Frank Wille Pass 1 DrawInfo MOVE.L A1,D0 18 Symbol was declared twice in line 19459 (= line 1596 of icon.library.s) Screen MOVE.L A0,$264(SP) ; struct screen 18 Symbol was declared twice in line 22556 (= line 4693 of icon.library.s) Pass 2 BEQ.S DrawInfo 45 Valid address expected in line 19446 (= line 1583 of icon.library.s) BEQ.S Screen 45 Valid address expected in line 22524 (= line 4661 of icon.library.s) |
|
Currently Active Users Viewing This Thread: 3 (0 members and 3 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
ClassicWB Full and icon.library 46.4 | Retroplay | project.ClassicWB | 8 | 05 August 2018 13:57 |
WB library conflict/versions | Amiga1992 | support.Apps | 3 | 22 July 2010 18:47 |
PNG Icon to Color Icon Converter? | Leandro Jardim | request.Apps | 1 | 24 May 2010 04:39 |
What's the latest version of icon.library for OS3.9? | NovaCoder | support.Apps | 3 | 30 June 2009 15:43 |
Requesting icon.library v44+... | nikvest | request.Other | 2 | 16 September 2007 01:58 |
|
|