| | | | * This site DOES NOT make use of cookies. * E-mail address can be found in CONTRIB. * Last site update: Sunday 21-09-2014 17:11:48 . | | | | |
|
| | | | A B O U T
| | | | |
libqdev-1.2
--------------
---
# http://qdev.sdf.org/
##
## oooooooooooooooooooo
## 8 888
## 8 oooooooooooood"888
## 8 88888888888P" 888
88888888 ######## ####### # # 8 888888888P" 888
88 88 ## ## ## ## ## ## 8 8888888P" 888
88 88 ## ## ######### ## ## 8 88888P" 888
88 88 ## ## ## ## ## 8 888P" by BCD 888
88 88 ## ## ## ## ## 8 8P"oooooooooooo888
88 88 ## ## ## ## ## 888888888888888888
88888888 ######## ######## ########
88 oooooooooooooooooo
88 d ..ooo888888b
88 Quick Development Suite d ..odo88888888888b
88 doooooooooooooooooooooob
88 for the Amiga computer
8
This is 'qdev', a static link library that allows to write programs
more easily and more quickly. It is mainly targetted at the AmigaOS,
but with a bit of effort it should be possible to port it in whole to
some other Amiga-like operating system.
The function set is in three parts: A - AMIGA, P - PORTA, I - INDEP,
which means that the first group of functions was designed to be used
with AmigaOS in mind(incl. clones), the second group are functions
that will compile under U**X-like environment as well, and the last
group are functions that should compile and work anywhere.
This library was made in such a way, that it is possible to replace
many standard/POSIX functions, sometimes with much better results!
This does not mean I am against those standards! It just feels that
in many cases it is better to use the replacement so that all known
limitations can be squashed and so the code is cleaner in the end.
In this archive you will find what I did "invent" over the years for
use with my proggies and what was scattered across them. Now all this
stuff is in one place :-) . Of course at this point I shall give
a credit or two, since this library contains some ideas borrowed from
others too. More in 'THANKS TO'.
This project has been in plans for quite a time. It came to me around
2008 when I was coding 'startup-sequence' replacement, then called
"SWLoader". It quickly turned out that I really need very special
library with lots of goodies. It was too late for the loader to make
use of it, cus everything was hammer packed in it already... Anyway,
I decided that the next version will be library dependant(it still
isnt, lol).
At the time of writing this (23/01/2012) the library has grown
considerably(about 200 functions and counting) and contains many,
many interesting routines. Comparing this to the initial state
(01/06/2010) where only few necessary functions were implemented it
now forms a very attractive toolkit for every Amiga enthusiast either
experienced C programmers or total beginners thanks to examples.
Aside from library you will also find a bunch of programs in 'tools/'
directory that can really make your day. Just to name a few. There is
'amiscreen' which allows to virtualize the shell pretty much like
'screen'. There is also largely improved 'mss' which is a fullscreen
CLI. Or 'hashlab', a simple but powerful hash routine evaluator.
Assuming almost two years of work, not only in my spare time where
everything was progressing supposedly slowly which really turns out
to be impactious I am pleased to announce 'qdev'. A multipurpose
quick development suite whose aim is to aid OS related programming on
our beloved home computer system. Enjoy!
---
NOTES:
[*]
Binary distribution requires 68020(w. no FPU)+, OS V39+, GCC 2.7.2+,
ixemul 48+ and at least 8+ MiB of free memory to compile and link
[*]
First thing you should do is to visit 'docs/' directory and read the
manual. Then decide if you want to install the package OS wide or to
use in a standalone directory.
[*]
More animated logos together with sources can be found in a separate
archive called 'qlogos-<num>-<name>-bin-m68k.lha' where '<num>' is
package number and '<name>' is a nickname or groupname. Feel free to
make your own packages in that way.
---
THANKS TO:
[*]
'kowalsky' you deserve a big time and a truck full of beer! This guy
was basically heavily beta-testing and helping me out when I was
all messed up after a sleepless night programming new things. We
spent quite a time working together. One of his machines died from
overheating... Fortunately it was an AMD, phew ;-) .
[*]
Emilia 'Mila' Fiodorczak for her patience explaining me math related
things I was sure I will never understand! Now at least I dont feel
like a complete idiot, lol. A Big Thank You!
[*]
Dimitry Valerovitch for helping in BSIPM ruleset formation and hints
on international law and how to talk to companies and how to avoid
disasterous deals. Thanks man!
[*]
Ralph Babel for great 'Amiga Guru Book'. This book sheds a lot light
on how it works when unsure and has the examples ;-P I did use
sometimes.
[*]
Dittrich, Gelfand, Schemmel for 'Amiga System Programmer's Guide' for
lots of valuable information that never gets old.
[*]
Rhett Anderson and Randy Thompson for 'Mapping the Amiga'. Some HW
registers are nicely explained in this book.
[*]
Eugene P. Mortimore for 'Amiga Programmer's Handbook Volume II' for
explaining device related stuff including 'console.device'.
[*]
Rob Pack, Carl Sassenrath, Susan Deyl for 'Amiga ROM Kernel Manual
Volume 1' so i know how to deal with kernel in a proper way.
[*]
Harry 'Piru' Sintonen for 68060 detection code. I was really puzzled
and could not figure out how to properly detect this CPU so i did
steal the code from 'WhichAmiga'. Harry, I hope You dont mind that
i put this code under GPL!
[*]
Morten Eriksen for his assembly P2C and C2P routines that I did put
in 'supp/' directory. Code is intact and powers the bitmap remapper
through macros.
[*]
Guys at 'http://www.hackersdelight.org' for turning a book into web
site. Lots of nifty concepts and usable code. Many, many nice
impementations are just there!
[*]
AROS Team and Scout Team. My goodness You did a lot of great work!
I just look at Your code and I immediatelly have a clue how certain
things may work under AmigaOS :-) . Thank you, thank you, thank you!
[*]
People at 'http://aggregate.org/' for lots of nerdy stuff, especially
to Henry Gordon Dietz for 'MAGIC'.
[*]
Mark R. Nelson for LZW demonstration code which I adapted and used
for compressing bitmaps.
[*]
Glenn Fowler, Landon Curt Noll and Phong Vo, yes your hashing
routines are unbeatable! I used the 64bit version in 'dupfilter'.
[*]
Arash Partow for making "General Hash Function Source Code" available
at: http://partow.net/programming/hashfunctions/ so that everything
is at hand.
[*]
Free Software Foundation for great GNU tools and the license, so some
things of this project are to be of use by anyone with minimum
possible restrictions. Sorry Richard i cannot share your idea in
whole right now due to problems i faced that changed my point of view
on companies. Giving them great freedom is not a good thing to do...
[*]
Original and Commodore Amiga hardware and software teams. Although
I like the OS concept very much, the hardware could be better! Anyway
thanks for what You did and fyi my toys still do work after all these
years!
[*]
All who worked on and ported GeekGadgets, including GCC, 'ixemul',
'libnix' and stuff, and who were and still are supporting these in
different ways. I wish to thank the following people: Markus Wild,
Rafael W. Luebbert, Fred Fish(RIP), Leonard Norrgard, Jeff Shepherd,
Hans Verkuil, David Zaroski, Kriton Kyrimis, Bart Van Assche,
Matthias Fleischer, Mike Krings, Norbert Pueschel, Lars Hecking,
Kamil Iskra, Holger Jakob, Niels Froehling, Matthias Fleischer,
Gunther Nikl, Emmanuel Lesueur, Jonathan Adamczewski, Marc Espie,
and others.
[*]
'murakami', 'hipoonios', 'www.animated-gifs.eu/' for animated GIFs
which I converted to binary logos. The converted material is still
courtesy of former authors.
[*]
All other people i do not remeber now and who did put their effort in
better Amiga environment! Mail me if you feel your name should be
listed in here along with your achievement.
---
DEPENDENCIES:
You can find old, preconfigured GG ADE on Aminet or you can get more
recent GG-Lite which is specifically targetted at 'qdev', or you can
make your own DE from scratch by taking necessary prerequisites from:
http://ftp.back2roots.org/geekgadgets/
http://fish.back2roots.org/#GeekGadgets
http://megacz.back2roots.org/ports/
http://aminet.net/
http://sourceforge.net/projects/libnix/
http://hp.alinea-computer.de/AmigaOS/
http://users.neoscientists.org/~bifat/binarydistillery/
In order to make use of the library out of the box you will need one
of these compilers:
- EGCS 1.1.2
- GCC 2.7.2
- GCC 2.95.3-4 (recommended)
- GCC 3.3.3
- GCC 3.4.0
You will find a lot of information on how to configure all this stuff
on BTTR! Supplementory to compiler you will also need proper binary
related tools:
- binutils 2.5.2
- binutils 2.7 (recommended)
- binutils 2.8.1
- binutils 2.9.1
Version 2.7 is the best port ever brought to the Amiga. Many, many
auxiliary developer tools(such as 'gccfindhit' or 'gdb') work just
right when fed with binaries produced by it! Another important thing
is:
- make 3.8.x
You really want to use GNU Make as it literally makes it all easy and
easy going ;-) . Aside "core" programs these packages must also be
installed in order to develop progs or to rebuild the package(o means
optional):
- fileutils-4.0-bin.tgz
- pdksh-5.2.12-bin.tgz
- hunk2aout-2.0-bin.tgz
- PhxAss.lha
- guigfxlib.lha
- renderlib.lha
- CGraphX-DevKit.lha
- pth-2.0.7-2-bin-m68k.lha
o apurify_v1.5.lha
o Gccfindhit-1.2.1-bin.tgz
o gdb-4.16-bin.tgz
o MMULib-43.11.lha
Do not forget about the BSD kernel/devel. layer and the lightweight
standard library replacement called NIX(do not use 2.1 it is beta!)
that is available on SFNET and the Amiga glue library and/or macros.h
(fd2pragma) that are way more flexible. Also, Software Developer Kits
of AmiTCP and AmigaOS are required:
- ixemul-48.3-bin-m68k.lha
- libnix-2.0-bin.tgz
- libamiga-bin.tgz
- fd2pragma.lha
- AmiTCP-SDK-4.3.lha
- NDK39.lha
If you really need solid dose of information then get these files and
so you can spend all weekend learning and configuring things:
o Gg-docs-0.9-bin.tgz
o Gg-misc-bin.tgz
If you have never used the compiler nor GNU tools such as 'gzip' or
'tar' that depend on 'ixemul' then download,
- Boot.lha
- Boot.lha.readme
from GeekGadgets, quick-copy stuff where they belong(C:, LIBS:), open
the shell and before unpacking anything increase the stack and then
use as follows:
RAM:
makedir extracted
extracted/
stack 131072
gzip -d <archive.[tgz|tar.gz]>
tar -xf <archive.tar>
lha -x <archive.lha>
In case of any doubts, try Amiga newsgroups that are available on the
popular WWW platform G**gle or Amiga related portals/forums such as,
http://amiga.org
http://amigaworld.net
http://eab.abime.net
or various IRC channels on various networks(IRCNet, FreeNode, etc).
Good Luck!
---
megacz / BCD
| |
| | | | |
|