Poster | Thread |
pavlor
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 12-May-2012 22:59:27
| | [ #1 ] |
|
|
 |
Elite Member  |
Joined: 10-Jul-2005 Posts: 9680
From: Unknown | | |
|
| |
Status: Offline |
|
|
amigakit
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 12-May-2012 23:37:15
| | [ #2 ] |
|
|
 |
Amiga Kit  |
Joined: 28-Jun-2004 Posts: 2655
From: www.amigakit.com | | |
|
| |
Status: Offline |
|
|
TrevorDick
 |  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 0:03:33
| | [ #3 ] |
|
|
 |
Elite Member  |
Joined: 30-Dec-2004 Posts: 2678
From: Wellington | | |
|
| Thanks for that! Well done. 
TrevorD _________________ No, I don't need no reason, I'm just breezin'
|
|
Status: Offline |
|
|
RodTerl
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 0:27:43
| | [ #4 ] |
|
|
 |
Cult Member  |
Joined: 6-Sep-2004 Posts: 589
From: Rossendale | | |
|
| May I put in a request for consideration for a minimum alteration to the IFF standard that will allow, hopefully, for current and future resistant use.
The size of fields in IFF are 32 bit words, giving 4 billion, 4 Gig unsigned, +- 2 Gig signed.
I hopefully propose that the idea of signed 32 bit values are used, and that the existance of a negative value, the MSB being set, is used to extend the size by a further size value, as in another 32 bit signed structure. This initself also has the MSB available, giving a 2 stage decode of only 62bit, but allowing auto extension into 128 bit MAC and 256 bit UUID etc.
I apologise if this is already under consideration. _________________ The older and more respected a scientist is, the longer it takes to prove him wrong.
|
|
Status: Offline |
|
|
Kicko
 |  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 0:31:06
| | [ #5 ] |
|
|
 |
Elite Member  |
Joined: 19-Jun-2004 Posts: 5009
From: Sweden | | |
|
| |
Status: Offline |
|
|
tonyw
 |  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 4:49:25
| | [ #6 ] |
|
|
 |
Elite Member  |
Joined: 8-Mar-2003 Posts: 3240
From: Sydney (of course) | | |
|
| @RodTerl:
That suggestion would be better made on the Hyperion AmigaOS forum than in a news item thread. _________________ cheers tony
Hyperion Support Forum: http://forum.hyperion-entertainment.biz/index.php
|
|
Status: Offline |
|
|
OldFart
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 6:11:27
| | [ #7 ] |
|
|
 |
Elite Member  |
Joined: 12-Sep-2004 Posts: 3070
From: Stad; en d'r is moar ain stad en da's Stad. Makkelk zat! | | |
|
| @RodTerl
Quote:
I hopefully propose that the idea of signed 32 bit values are used, and that the existance of a negative value, the MSB being set, is used to extend the size by a further size value, as in another 32 bit signed structure. This initself also has the MSB available, giving a 2 stage decode of only 62bit, but allowing auto extension into 128 bit MAC and 256 bit UUID etc. |
Over the years I've been giving this very subject a thought as well: the limit of 2 Gb CAN be a problem in the future. The chance is not that big as a file of some 2Gb in signed format (or 4 Gb in unsigned format as you propose) is quite a file, but anyway. Whatever is done should be done with current limitation of signed 32 bit values in mind. Backwards compatabillity. That was the expression i was looking for.
I have been thinking of extending the arithmetical aspect of IFF to even 64 bit unsigned. This could be achieved by prefixing any chunk that exceeds the 2^32 limit by a special disignator like 'E','X','T','-', in which case the chunksize is represented as 64 bit.
So a file exceeding 2Gb would start like this: 'E','X','T','-','F','O','R','M' , . Old applications/libraries won't be able to deal with this file as they don't now the 'E','X','T','-' ID. Some kind of trouble kicks in when a file (or chunk) is to be written of an uknown size. This can be remedied by taking 8 bytes more size for the chunkheader, Is the size of the chunk less then can be contained in 32 bits, then an empty chunk is writen with an ID of 'N','U','L','L' and size of 0. 'N','U','L','L' is currently defined in the headerfile. A file of unknown size gets a header of 20 bytes in stead of the current 12. In case the file turns out to be less then 2^32 in size the first 12 bytes are used as per current implemetation. The remaing 8 bytes are used with a 'N','U','L','L' ID and a 0 for size. And current apps will still be able to read it.
Resumé: Backwards compatibillity retained. Not to complicated to implement. Files can take on a size of 2^64 bytes. For the time being I dare say that this is sufficient for a long, long time.
OldFart
EDIT: Come to think of it: by introducing the 'EXT-' ID the size field could be set to contain either a value in LittleEndian or in BigEndian. Offering the sign bit for this in anywhich representation by setting it to result in this rules: BE: even number of bits set. LE: Odd number of bits set. As you can't see beforehand in which way a size is represented, a count of the bits set gives you a perfect clue: Odd means LE an even means BE. Simple. File/chunk sizes are hereby reduced by 1 bit, though.Last edited by OldFart on 13-May-2012 at 06:21 AM.
_________________ Life is a waste of time. Time is a waste of life. Get wasted all the time and you'll have the time of your life!
|
|
Status: Offline |
|
|
salass00
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 6:55:38
| | [ #8 ] |
|
|
 |
Elite Member  |
Joined: 31-Oct-2003 Posts: 2707
From: Finland | | |
|
| Quote:
Some kind of trouble kicks in when a file (or chunk) is to be written of an uknown size. This can be remedied by taking 8 bytes more size for the chunkheader, Is the size of the chunk less then can be contained in 32 bits, then an empty chunk is writen with an ID of 'N','U','L','L' and size of 0. 'N','U','L','L' is currently defined in the headerfile. A file of unknown size gets a header of 20 bytes in stead of the current 12. In case the file turns out to be less then 2^32 in size the first 12 bytes are used as per current implemetation. The remaing 8 bytes are used with a 'N','U','L','L' ID and a 0 for size. And current apps will still be able to read it.
|
Why not use the already existing 'JUNK' chunk for this purpose instead of defining another one? http://wiki.amigaos.net/index.php/IFF_FORM_and_Chunk_Registry#.28any.29.JUNK
Quote:
EDIT: Come to think of it: by introducing the 'EXT-' ID the size field could be set to contain either a value in LittleEndian or in BigEndian. Offering the sign bit for this in anywhich representation by setting it to result in this rules: BE: even number of bits set. LE: Odd number of bits set. As you can't see beforehand in which way a size is represented, a count of the bits set gives you a perfect clue: Odd means LE an even means BE. Simple. File/chunk sizes are hereby reduced by 1 bit, though.
|
Don't make things more complicated than they need to be. There's really no need to have big-endian and little-endian versions of the same file format. Just look at RIFX format (big-endian version of RIFF format) to see why this is a seriously **DUMB** idea (almost nothing uses/supports RIFX, because it's too much work for practically no benefit).Last edited by salass00 on 13-May-2012 at 06:57 AM.
|
|
Status: Offline |
|
|
rzookol
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 7:55:14
| | [ #9 ] |
|
|
 |
Regular Member  |
Joined: 4-Oct-2005 Posts: 318
From: Poland, Lublin | | |
|
| |
Status: Offline |
|
|
g0blin
 |  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 8:14:00
| | [ #10 ] |
|
|
 |
Cult Member  |
Joined: 31-Mar-2009 Posts: 666
From: Unknown | | |
|
| |
Status: Offline |
|
|
ShInKurO
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 9:22:10
| | [ #11 ] |
|
|
 |
Regular Member  |
Joined: 18-Jan-2004 Posts: 466
From: Italy | | |
|
| What wonderful work! Right path :) Could everyone does changes? I suggest you to use for code example a plugin for mediawiki which support sintax highlight, it world very useful... |
|
Status: Offline |
|
|
andres
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 9:26:47
| | [ #12 ] |
|
|
 |
Regular Member  |
Joined: 3-Nov-2008 Posts: 329
From: Firenze (Italy) | | |
|
| I'm not a coder, but I guess it is a very good thing, another step in the right direction...
@SSolie I would put a link to the wiki in the AmigaOS.net menu. Last edited by andres on 13-May-2012 at 09:35 AM.
_________________ A1200/020+68882 - 6 MB RAM - AmigaOS 3.0
Home Recording Audio
|
|
Status: Offline |
|
|
Massi
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 9:42:29
| | [ #13 ] |
|
|
 |
Cult Member  |
Joined: 2-Feb-2011 Posts: 628
From: Rome, Italy | | |
|
| Really important news, we need quality documentation to be able to develop quality software! Keep up the excellent work! _________________ SAM440EP-FLEX @ 733 Mhz, AmigaOS 4.1 Update 1
|
|
Status: Offline |
|
|
royleith
 |  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 9:45:21
| | [ #14 ] |
|
|
 |
Cult Member  |
Joined: 31-Jul-2003 Posts: 766
From: UK | | |
|
| Excellent
The combination of the Amiga and wiki spirit should produce a very valuable resource for us all.
Regards, Roy Leith |
|
Status: Offline |
|
|
ShInKurO
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 10:06:45
| | [ #15 ] |
|
|
 |
Regular Member  |
Joined: 18-Jan-2004 Posts: 466
From: Italy | | |
|
| What about AmigaMail Vol2 documents? You should add and update them like other ones, or not?
What about a pdf export plugin for mediawiki? it would be very useful :) Last edited by ShInKurO on 13-May-2012 at 10:22 AM. Last edited by ShInKurO on 13-May-2012 at 10:07 AM.
|
|
Status: Offline |
|
|
AmigaBlitter
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 11:15:33
| | [ #16 ] |
|
|
 |
Elite Member  |
Joined: 26-Sep-2005 Posts: 3514
From: Unknown | | |
|
| Great work! Very usefull stuff.
 _________________ retired
|
|
Status: Offline |
|
|
samo79
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 11:25:17
| | [ #17 ] |
|
|
 |
Elite Member  |
Joined: 13-Feb-2003 Posts: 3505
From: Italy, Perugia | | |
|
| Good move  _________________ BACK FOR THE FUTURE
http://www.betatesting.it/backforthefuture
Sam440ep Flex 800 Mhz 1 GB Ram + AmigaOS 4.1 Update 6 AmigaOne XE G3 800 Mhz - 640 MB Ram - Radeon 9200 SE + AmigaOS 4.1 Update 6
|
|
Status: Offline |
|
|
Daedalus
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 11:51:21
| | [ #18 ] |
|
|
 |
Super Member  |
Joined: 14-Jul-2003 Posts: 1680
From: Glasgow - UK, Irish born | | |
|
| That's excellent news, good work guys If I find some spare time I'll register and contribute, will be great to see this fleshing out, especially for slightly more advanced topics like using the shell and modifying user-startup scripts and so on... _________________ RobTheNerd.com | InstallerGen | SMBMounter | Atoms-X
|
|
Status: Offline |
|
|
OldFart
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 12:50:12
| | [ #19 ] |
|
|
 |
Elite Member  |
Joined: 12-Sep-2004 Posts: 3070
From: Stad; en d'r is moar ain stad en da's Stad. Makkelk zat! | | |
|
| @salass00
Quote:
Why not use the already existing 'JUNK' chunk for this purpose instead of defining another one? |
Why not use the already existing 'NULL' chunk for this purpose instead of defining another one?
From iffparse.h: Quote:
/* Universal IFF identifiers */ #define ID_FORM MAKE_ID('F','O','R','M') #define ID_LIST MAKE_ID('L','I','S','T') #define ID_CAT MAKE_ID('C','A','T',' ') #define ID_PROP MAKE_ID('P','R','O','P') #define ID_NULL MAKE_ID(' ',' ',' ',' ') |
NULL is already defined, so...
OldFart _________________ Life is a waste of time. Time is a waste of life. Get wasted all the time and you'll have the time of your life!
|
|
Status: Offline |
|
|
Chris_Y
|  |
Re: Introducing The AmigaOS Documentation Wiki Posted on 13-May-2012 13:58:20
| | [ #20 ] |
|
|
 |
Elite Member  |
Joined: 21-Jun-2003 Posts: 3205
From: Beds, UK | | |
|
| @OldFart
Quote:
I have been thinking of extending the arithmetical aspect of IFF to even 64 bit unsigned. This could be achieved by prefixing any chunk that exceeds the 2^32 limit by a special disignator like 'E','X','T','-', in which case the chunksize is represented as 64 bit. |
Or instead of IFF FORM, use 'FOR1' which is a reserved name intended for exactly this sort of incompatible update. Then you extend the remaining namespace to 64-bits with 64-bit size fields. It doesn't matter that it's incompatible with existing IFF readers because they wouldn't be able to read it anyway without being updated. (your EXT- idea doesn't make it compatible with old readers as they will still be skipping past the chunk using whatever 32-bit value is after the EXT-.)
With appropriate updating of iffparse.library to support 64-bit FOR1 existing software might be able to read FOR1 files as long as they don't exceed the 2/4GB size limit (extending the namespace to 64-bit might scupper this though, old 32-bit chunks would need to have NULLs in the second 32-bits or something so readers recognise old chunk names). New read/write functions supporting 64-bit sizes would of course need to be added for new software (and used by datatypes.library and anywhere else in the OS that deals with IFF) _________________ "Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion Avatar is Tabitha by Eric W Schwartz
|
|
Status: Offline |
|
|