About
Docs
Files
Support
Index

Pkg papers
AUTHORS
BCD members
BSIPM
Main license
CONTRIB
Contributors
GPL
GNU GPL
LEGAL
Good to know
LICENSE
GNU LGPL
NEWSFEED
Library news

Notices
* 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

  


No more fear cus pure HTML is here!
Copyright (C) 2013-2014 by Burnt Chip Dominators