@database amigaexamples
@author a1000
@$VER: 1.0 GCC

@node main
@index docmaster/main
	EXAMPLES

@{"Introduction" link "RKRM_Devices_Introduction"}

	@{"Audio      " link "RKRM_Devices_Audio"}	@{"Clipboard  " link "RKRM_Devices_Clipboard"}
	@{"Console    " link "RKRM_Devices_Console"}	@{"Gameport   " link "RKRM_Devices_Gameport"}
	@{"Input      " link "RKRM_Devices_Input"}	@{"Keyboard   " link "RKRM_Devices_Keyboard"}	
	@{"Narrator   " link "RKRM_Devices_Narrator"}	@{"Parallel   " link "RKRM_Devices_Parallel"}						
	@{"Printer    " link "RKRM_Devices_Printer"}	@{"Resources  " link "RKRM_Devices_Resources"}	
	@{"IFF        " link "RKRM_Devices_IFF"}
	@{"SampleDevice" link "RKRM_Devices_SampleDevice"}	@{"SCSI       " link "RKRM_Devices_SCSI"}	
	@{"Serial     " link "RKRM_Devices_Serial"}	@{"Timer      " link "RKRM_Devices_Timer"}	
	@{"Trackdisk  " link "RKRM_Devices_Trackdisk"}	@{"ASL        " link "RKRM_Lib_ASL"}		
	@{"GadTools   " link "RKRM_Lib_GadTools"}	@{"Preferences" link "RKRM_Lib_Preferences"}	
	@{"Workbench  " link "RKRM_Lib_Workbench"}	@{"Commodities" link "RKRM_Lib_Commodities"}	
	@{"Expansion  " link "RKRM_Lib_Expansion"}	@{"IFFParse   " link "RKRM_Lib_IFFParse"}	
	@{"Intuition  " link "RKRM_Lib_intuition"}
	@{"Keymap     " link "RKRM_Lib_Keymap"}	@{"Math       " link "RKRM_Lib_Math"}		
	@{"Utility    " link "RKRM_Lib_Utility"}

	not ready yet:
	@{" amiga c manual " link "cmanual/main.guide/main" }

	still missing:
	datatypes,locale

@endnode

@node "RKRM_Devices_Audio"

	Introduktion in the use of the `audio capabilities` of amiga.
	
	- Audio.c                     
			Creates a simple tone, (volume low)
	
	- audio_8svx.c               
			needs iff.h
@endnode
@node "RKRM_Devices_Clipboard"

	What its a clipboard.device for ?

	- clipdemo.c  
		shall provide an answer
	cb.h                        
	cbio.c      gives some usefull routines for clipdemo and changehook

	
       -  changehook_test.c           
          hookface.a

	  shows the change of the clipboard contents
	  programms end either with ^C or you clip something in paste-buffer
	
	  hookface is the asm-interface. unfortunaly there is seems to be
	  so support for including *.i files.
	  A converter is strogly recomended !

@endnode
@node "RKRM_Devices_Console"

	What key is pressed ? ups, what is a  ?

	- AskKeymap.c                 
		show the first row with shift/shift-alt/alt/none pressed

	- Console.c                  
		a window pops up, writes something
		then you can press a key an its hex-value will be shown
		but qualifier will be ignored.
@endnode
@node "RKRM_Devices_Gameport"

	Demo for using an analog Joystick wtih your amiga.

	- Absolute_Joystick.c        

		an stick should be availabel somewhere near your.
		or you have to wait a bit. the prg will end automaticly.

@endnode
@node "RKRM_Devices_Input"

	What can we do with the mouse ?	

	- Set_Mouse.c                 
		sets mousepoiter to a new position. no input , just a jump
		from your mousepointer

	Inputhandler.a              
	Swap_Buttons.c              

@endnode
@node "RKRM_Devices_Introduction"

	- read.me.first
		some remarks about the porting and using of the programms
		and pitfalls !

	Pre_V36_Device_Use.c        
	V36_Device_Use.c            
	
@endnode
@node "RKRM_Devices_Keyboard"

		reading the keyboard

		- Key_Reset.c                 
		- Keyhandler.c (org:Keyhandler.a)

			together they show how to use the resethandler.
	IMPORTAT !!!
		THAT PRG NEED A RESET !!!!

		- Keyboard_Events.c
			look whats happing because you hit a key

		rem:	its very clumsy because its fighting with
			with the console.handler for events.


		- Read_Keyboard_Matrix.c      
			shows how to read the actuell matrix
			hit a key after start and you will see
			something (at least)

@endnode



@node "RKRM_Devices_Narrator"

	Let your amiga speak !

	- Full_Narrator.c            
		A face with mouth movements (robot like), tells you why
		you shouldnt smoke.

	- Speak_Narrator.c            
		2 times, 2 voices: "this is amiga speaking"

@endnode
@node "RKRM_Devices_Parallel"
Parallel.c                  
Terminate_Parallel.c        
@endnode
@node "RKRM_Devices_Printer"
Demo_Dump.c                
Printer_Data.c              
Set_Prefs.c                 
@endnode
@node "RKRM_Devices_Resources"

	In the deep .... where the time is created

	Alloc_Misc.a                
	Allocate_Misc.c             

*	- CIA_interval.c             
			are you sure your programm runs every time at the
			desired speed ? use a cia-timer an it will !

	- Get_Disk_Unit_ID.c          
			get the unit-id of a disk
	rem:
		are the id`s right ?		

	- Get_Filesys.c               
		examine your filesystem resource, be surprised
		i never know from the unix-support (UNI1)

	- Query_Serial.c              
		gives you the serial-port status or its current owner.
		simple question what indicates the number ?

	- Read_BattClock.c            
		Whats the time ? than read the clock !
		or ask batman..

	- Read_Potinp.c               
		Read a poti at port2 (or the mouse ;)

@endnode
@node "RKRM_Devices_SampleDevice"
ramdev.device.asm          
@endnode
@node "RKRM_Devices_SCSI"
	Why using SCSI instead of AT ? because you can talk to your device.
	here is an example that show's what can be done and how.	

	- SCSI_Direct.c              
		shows information about unit X

@endnode
@node "RKRM_Devices_Serial"
Complex_Serial.c            
Simple_Serial.c             
Terminate_Serial.c          
@endnode
@node "RKRM_Devices_Timer"

	- Get_Systime.c               
		you know when its time for you. but what is the time for
		your amiga ?

	- Multiple_Timers.c           
		the bell rings for ... who ?

	- Simple_Timer.c
		Simple but working, so what did you exspect ?
		now you have a timertest, thats better ?

	- Timer_Arithmetic.c          
		1*1=1 or ?

@endnode
@node "RKRM_Devices_Trackdisk"
		what does the trackdisk.device do ?

	- Track_Copy.c               
		
		copy a disk (before starting make sure you have your
		backup-disk not inserted !
		usage: trackcopy df0 df1 <- note! no `:`
		same funny effect because buffering ! next time use
		unbuffered funktions for i/o !
@endnode
@node "RKRM_Lib_ASL"
	
	one nice thing about amigaOS is beside its size its huge repartee
	of usefull nice function for GUI. here is a bunch of it.

	- filehook.c                  
		select a file with a requester
	rem:
		minor bug found ?

	- filepat.c                   
		now on you own screen be beware of interlace !
	rem:
		 same problem as before

	- filereq.c                   
		simple filerequester

	- fontreq.c                   
		select a font, enables you to use severeal other
		feathers like BOLD, usw ...
@endnode
@node "RKRM_Lib_GadTools"
	gadtoolsgadgets.c          
	gadtoolsmenu.c              
	simplegtgadget.c            
@endnode
@node "RKRM_Lib_Preferences"
prefnotify.c                
showprefs.c                 
@endnode
@node "RKRM_Lib_Workbench"
appicon.c                   
appmenuitem.c               
appwindow.c                 
iconexample.c              
prargs.c                    
@endnode
@node "RKRM_Lib_Commodities"
	broker.c                    
	divert.c                    
	- HotKey.c
		must be linked with amiga.lib
		the hotkey is CTRL-ESC
	PopShell.c                  

@endnode
@node "RKRM_Lib_Expansion"

	- autoboot.asm               
		not yet

	- findboards.c                
		guess what finds autoconfig-board (and else)

@endnode
@node "RKRM_Lib_IFFParse"

	- clipftxt.c
		this littele demo write a text in a clipbuffer
	- sift.c                      
		scan clipboard or file
		IDtoStr causes a warning, cast it ?
@endnode

@node "RKRM_Lib_Keymap"
	appkeymap.c
		same helping routines (who needs them ?)
	d.asm                      
		source code ao a keymap

	mapansi.c 
		converts a string into input event using mapansi
	maprawkey.c
		prints rawkey value
@endnode

@node "RKRM_Lib_Math"

	>>>>>>	double precision ieee math 

	- dpieee.c                    
		calculate -PI/6 and compare with Zero
	- dptrans.c
		transcendenc means sin,cos usw...
		calculate sin(45)

	>>>>>>>	fast-floating point math

	- ffpbasic.c
		print PI and calcutate integer(PI)
  	- ffpexample.c                
		comversion example need amiga.lib
	- ffptrans.c
		sim(PI/6)
	- mathsupport.c               
		calculate -PI/6 and compare with Zero

	>>>>>>	single-precision

	- spieee.c                    
		-3.6 * 18.7 == ??
	- sptrans.c                   
		see by yourself


1.	the best test i know is (1+eps)^27 
	choose a small eps(e.g. 1e-8)
	use a for() and look with different precision

2.      i had some strange results (sp) but bo idea why, because it doesnt
	seem to be important some other may find the cause

@endnode

@node "RKRM_Lib_Utility"

	for some strange reason is the source moved 4 chars right. 
	now they are back.

	a2d.c                       
		inclomplete pointer error, will take a look later

	- hooks1.c
		hooks again ! later not yet
	- istr.c                      
		some kind of `locale compare` or what ?
		strcmp dont work right ? isnt it ?

	- tag1.c                      
		open a window via tags.  
		try these thing : 
		move window, click close

	- uptime.c                    
		getreg(), whats that ? maybe i can find a replacement ?
		untill now direct removed in favor of asm()
		these whole prg display the "up-time". that means time
		since last-reboot or even better time of creation of
		the ram-disk.

@endnode
@node "RKRM_Lib_intuition"
	@{"Boopsi" link "RKM_Lib_intuition_Boopsi"}		@{"Gadgets" link "RKM_Lib_intuition_Gadgets"}
	@{"Text" link "RKM_Lib_intuition_Images_Text"}		@{"GUI" link "RKM_Lib_intuition_Intuition_GUI"}     
	@{"I/O-Methods" link "RKM_Lib_intuition_IO_Methods"}	@{"Menus" link "RKM_Lib_intuition_Menus"}      	
	@{"Keyboard" link "RKM_Lib_intuition_Mouse_Keyboard"}	@{"Alerts" link "RKM_Lib_intuition_Requesters_Alerts"}
     	@{"Screens" link "RKM_Lib_intuition_Screens"}		@{"Special" link "RKM_Lib_intuition_Special"}
	@{"Windows" link "RKM_Lib_intuition_Windows"}     
@endnode
@node RKM_Lib_intuition_Boopsi

	- Talk2boopsi.c
		remeber sliders ? hier is a one.

       RKMButClass.c                    
       RKMModel.c
       rkmmodel.h
       userkmmodel.c             
		need a makefile ?
@endnode
@node RKM_Lib_intuition_Gadgets     

       - simplegad.c               
		opens a window, a gadget appears you can click ...
		thats it.
       - strhooks.c
		not yet, wg asm

       - updatestrgad.c            
		fancy string gadget demo :)

@endnode
@node RKM_Lib_intuition_Images_Text     

	-  compleximage.c
		needs a workaround for __CHIP

	- intuitext.c
		write something via intuition (closes on timeout)

        - shadowborder.c
		shadow give a 3d-effect (closes on timeout, too)

        - simpleimage.c                    
		needs a workaround for __CHIP

@endnode
@node RKM_Lib_intuition_Intuition_GUI      
       easyintuition.c                  
       easyintuition37.c                
@endnode
@node RKM_Lib_intuition_IO_Methods      

	- CloseWindowSafely.c              
		execerpt, multi-tasking is a mine-field as we all know
		here is a save way to close a window.

	- eventloop.c       
		wait for an event look how to make it right                           
@endnode
@node RKM_Lib_intuition_Menus      

       - menulayout.c

		there is for statement ver elegant for C but understandable ?
		maybe some rework for understanding ?
		add struct MenuItem GCC wont compile without ? good or bad ?
		Opens a small window, now use same of the menu-items.

       - simplemenu.c                     

		the more simple version (surprise !)

@endnode
@node RKM_Lib_intuition_Mouse_Keyboard      
       - custompointer.c                  
		workaround for __chip requested
       mousetest.c                      
       rawkey.c                         
@endnode
@node RKM_Lib_intuition_Requesters_Alerts     

       - blockinput.c                     
		workaround for __chip requested
       - displayalert.c                   
		do you have a good hart ? use the guru-msg for warnings

       easyrequest.c
		tree button to choose from ..

@endnode
@node RKM_Lib_intuition_Screens     
       clonescreen.c                    
       doublebuffer.c                   
       dualplayfield.c                  
       newlookscreen.c                  
       publicscreen.c                   
       pubscreenbeep.c                  
       screen34to37.c                   
@endnode
@node RKM_Lib_intuition_Special     

       - remembertest.c                   
		allocmen the easy way the system remeber freeing for you.

@endnode
@node RKM_Lib_intuition_Windows     
       lines.c                          
       openwindowtags.c                 
       visiblewindow.c                  
       winpubscreen.c                   
@endnode

@ thats introcued from a later fish org. name #newiff

@node "RKRM_Devices_IFF"

	what would your amiga be without pictures and sound ?		none ?
	what would we be without to posibility to exchange data ?	dead ?
	Now here is the universial-language cabable of understanding
	Sound, text, pictures and more	.....

	IFF or (better)	newiff39 

    I.  modules 

	here are the sources for the linking modules. i moved the sasobj-files.
	to iffobj/SAS for 2 reasons.
	1. its the right directory for that
	2. originaly the files where here what makes converting (and testing)
	   not easier

            bmprintc.c				copychunks.c
            getbitmap.c				getdisplay.c
            iffpstrings.c			unpacker.c                       
            ilbmr.c				ilbmw.c
            loadilbm.c				packer.c
            parse.c  	/* he needs Hook.asm */
            screen.c                         screendump.c
      	    saveilbm.c
@("READ" system  "more rkrm_devices/iff/newiff39/modules/READ"}

	II.	iffp
	
	More iff-stuff, and something personal from carolyn, here debugging
	code. i dont know if it was here intention but its surely something
	most ppl can learn something.

            8svx.h                           8svxapp.h
            compiler.h                       debug.h
            ftxt.h                           gencat
            iff.h                            iffp.cd
            iffp.ct                          iffpstrings.h
            ilbm.h                           ilbmapp.h
            packer.h                         smus.h
            smusapp.h                        

	III.     iffobj 

	here is the home of all the objectfiles who are not under development !
	the original readmes are ....

               SAS (dir)
		@("README" system  "more rkrm_devices/iff/newiff39/iffobj/SAS/readme"}
               Manx (dir)
		@("README" system  "more rkrm_devices/iff/newiff39/iffobj/MANX/readme"}

	IV.	apps 

	the application dir. 
	(intruction: whistle `what shall we do with the drunken sailor` )

               ScreenSave (dir)
               Save8 (dir)
               RawtoILBM (dir)
               PlaySMUS (dir)
               Play8SVX (dir)
               ILBMtoRaw (dir)
               ILBMtoC (dir)
               ILBMLoad (dir)
               ILBMDemo (dir)
               24bitDemo (dir)

@{"Compiler.README" system "more rkrm_devices/iff/newiff39/Compiler.README"}
@{"Locale.Readme" system "more rkrm_devices/iff/newiff39/Locale.Readme"}
@{"NewIFF.Readme" system "more rkrm_devices/iff/newiff39/NewIFF.Readme"}
@{"Release_Notes" system "more rkrm_devices/iff/newiff39/Release_Notes"}
@{"ToDo" system "more rkrm_devices/iff/newiff39/ToDo"}

       Makefile                         Makefile.Manx
       Makefile.SAS                        bumpallrevs
                          

	V.          other

	additional things to look at

	    bumprev
            clipftxt.c			apack.asm
            Display			Display.doc
	    ilbmscan.c			sift.c

	and at last the read.me stuff 

  @{"Locale.ReadMe" system "more rkrm_devices/iff/Locale.ReadMe"}
  @{"NewIFF.ReadMe" system "more rkrm_devices/iff/NewIFF.ReadMe"}
  @{"Product-Info"  system "more rkrm_devices/iff/Product-Info"}
  @{"Release_Notes" system "more rkrm_devices/iff/Release_Notes"}
  @{"Read_Me" system "more rkrm_devices/iff/Read_Me"}

@endnode
