home *** CD-ROM | disk | FTP | other *** search
-
- samplePNM.datatype and source-code V43.9 (29.6.97)
- (C) 1996-97 by Andreas R. Kleinert. All rights reserved.
-
- ---
- This small sample datatype source code demonstrates, how to completely
- write an Amiga OS 3 datatype (V40/V43) without any assembler stubs
- or compiler/linker tricks in PURE C source code (currently SAS/C-based:
- see Aminet:dev/c/CLib37x.LHA on how to adjust for some other compilers).
-
- You may e.g. use this example source code to write more portable
- Amiga OS 3 datatypes to allow easier porting of these
- to other Amiga OS-derived operating systems, or the native
- OS of an upcoming PowerPC Amiga.
-
- Translate your 68k-assembler datatype startup-codes smartly
- to C by simply using this source-code as an advice how to do it.
-
-
- As a common case, a datatype of class picture, supporting
- PNM-PGM (P5) and PNM-PPM (P6) has been used as an example.
-
- With picture.datatype V40-42 only PGM is supported,
- and with picture.datatype V43 reading of PPM is offered as well,
- while encountering an PGM file under V43 causes a fallback to V40
- routines (could have been done differently, but was not necessary
- here just for demonstration).
-
- For testing this datatype, simply use a tool from the NetPBM package
- (or maybe for example a tool supporting superview.library) and save
- a graphics in the binary PGM or PPM format (P5/P6 of the PNM series).
-
- Then install this datatype and try loading the file via MultiView.
- Should work fine.
-
- ---
- Feel free to use this source for own projects.
-
- It is allowed to be spread and distributed anywhere, as far
- as my consent is concerned.
-
- Amiga Technologies, or the current owner of the technologie,
- is allowed to always put this source on their newest
- Developer CD-ROM.
-
- Thanks and credits will always be appreciated - for example,
- you MAY, but NEED NOT:
- give me credits in your program's docs, send me keyfiles for
- your programs using the library, and so on.
- But that's simply voluntarily.
-
- This work was only roughly inspired by David Junod's original
- example source codes for datatypes.
-
- _________________________________________________________
- | You may reach me the following way. |
- | Send bug-reports, money or whatever to: |
- |---------------------------------------------------------|
- | * SuperView Development & Registration * |
- | * DRAFU Development & Registration * |
- | * Image Engineer Registration Site Europe * |
- | |
- | |
- | PerSuaSiVe SoftWorX |
- | |
- | Andreas R. Kleinert |
- | Sandstrasse 1 |
- | D-57072 Siegen |
- | Germany, Europe |
- | |
- | Any snail mail to the old address will still be routed. |
- | |
- | Phone: +49-271-22869 also FAX + AM |
- | +49-271-22838 |
- | |
- | Weekdays after 17.00h. |
- | |
- | When calling via phone you may leave a message, |
- | if I'm not available - but don't expect me |
- | calling back to USA, Australia, ... since |
- | german phone rates are HIGHLY expensive. |
- |_________________________________________________________|
-
- http://home.t-online.de/home/Andreas_Kleinert/
-
- eMail:
-
- Please send binaries via ARK@News.wwbnet.de, and keep
- them smaller than 16 KB. Please think twice before
- sending them - my postbox is not unlimited in size.
-
- - Fido Andreas Kleinert 2:2457/350.18
- - Usenet
- Andreas_Kleinert@superview.ftn.neckar-alb.de (Fido-Gate)
- Andreas_Kleinert@t-online.de (T-Online)
- ARK@News.wwbnet.de (Z-Netz)
- ARK@amigaworld.com (AmigaWorld)
-
- - If nothing else works, try one of these public
- Fido-Usenet gateways:
-
- In Germany:
- Andreas_Kleinert@p18.f350.n2457.z2.fido.sub.org
-
- From USA or elsewhere:
- Andreas_Kleinert@p18.f350.n2457.z2.fidonet.org
-
- Please note, that the "superview.ftn.sub.org"
- domain will perhaps be renamed soon
-
-
- Known Bugs: - some versions of DOpus and all Installer versions
- can't fetch the version information from the
- library binary due to some bugs in their code.
- Newer DOpus versions have this fixed and C:Version
- for example did that task always.
-
-
- History:
-
- V43.9 (29.6.97) : - fixed memory bug-fix (argh)
- (-> Gunter Nikl)
-
- V43.8 (24.6.97) : - again removed class dispatcher code (refresh bug)
- - added "known bugs" section
- - LibInit now delocates library base on error
- (NULL return)
- (-> Gunter Nikl)
-
- V43.7 (14.6.97) : - fixed ftn-email address
- - updated class dispatcher
- (-> Roland Mainz)
-
- V43.6 (27.3.97) : - did some finetuning
- - now can simply be turned into a V40 datatype
- by removing a #define (and/or the corresponding
- parts of the code)
-
- V43.5 (25.1.97) : - now explicitely checks for DTA_SourceType == DTST_File
- - small changes
- - updated email information
-
- V43.4 (3.1.97) : - fixed PRI entry in resident part
- - slightly changed SCOPTIONS
- - fixed some style things (APTR and library casts)
- - fixed a bug: bitmap would not have been freed
- on temporary-buffer allocation error
- - added note about library opening to L_OpenLibs()
-
- V43.3 (30.11.96) : - added SAS/C specific Ctrl-C disabling code
- - made some workarounds compiler sensitive
- - redone all with SAS/C V6.57
-
- V43.2 (3.11.96) : - there was a FreeBitMap() call missing (oops)
- - it's samplePNM.dt, not samplePNG.dt ;-)
-
- V43.1 (25.10.96) : - added picture datatype V43 support
- - thus added support for 24 Bit PPM (P6),
- since PGM only has 256 grayscales
- - thus renamed to samplePNM.datatype
-
- V40.3 (13.9.96) : - fixed more "style" things
-
- V40.2 (5.9.96) : - fixed some "style" things
-
- V40.1 (2.9.96) : - first release
-
- ---
- All mentioned trademarks are subject to their owners.
-