*******************************************************************************
*                                                                             *
*     PLEASE: If you have any bug report, send it to Atari AND TO US TOO!:    *
*      (if you have suggestions, comments, problems, send them to us also)    *
*     Brainstorm:                                                             *
*      Fax:   +331-44670811 (France)                                          *
*      BBS:   +331-44670844 (France)                                          *
*      Email: laurent@brasil.brainstorm.cnam.fr (not yet)                     *
*          or chemla@cnam.fr                                                  *
*          or laurent@brasil.frmug.fr.net                                     *
*      CIS:   76004,1616                                                      *
*     Atari Jaguar Developer Support:                                         *
*      Tel:   +1-408 745 8821 (Mike Fulton)                                   *
*          or +1-408 745 2127 (Normen B. Kowalewski)                          *
*          or +1-408 745 2143 (Scott Sanders)                                 *
*      Fax:   +1-408 745 2088                                                 *
*      CIS:   75300,1141 (Mike Fulton)                                        *
*          or 75300,3444 (Normen B. Kowalewski)                               *
*          or 70007,1135 (Scott Sanders)                                      *
*                                                                             *
*     The newest versions of the tools are always available on our BBS, in    *
*      the Jaguar Area.                                                       *
*                                                                             *
*******************************************************************************
(TAB=4)
Notes on RDB:
RDB expects a bidirectionnal parallel port on LPT1, LPT2 or LPT3.
If you have other monodirectionnal parallel port(s), it will automatically
recognize the right one.
If you have more than one bidirectionnal port and the Jag is not on the first
one, you can tell rdb which port to use. The switch is -p (-p1 -p2 or -p3).


New features for 0.91:
Line editing and Prompt:
	New line editing with arrows, delete, scrolling and history.
	A prompt now appears on each line . 'Db:' for standard input,
	'Proc:' for procedure input and 'Set:' for setting values input.
	There is no history for the two last modes. The history size is
	100 lines for standard input.
	Thus, no more key binding is allowed for :
	TAB, because we'll soon add an automated completion with it,
	BS, ^@ and ESC for line editing purposes.

Last command recall:
	When a single <cr> is entered while in standard input, the last
	command	stored is executed again if it's logical (that is, for
	example, 'load' wont be stored, 'l' will be without parameters and
	'help' will be with parameters).

New features for 0.92:
TAB now completes the expression in input.
	It tries to make an 'intelligent' completion, i.e if getting the
	first word of a command, it will expand from the command table if
	it finds anything then from the variables table. If it's the second
	word it tries variables first, then commands.
	TAB TAB show all occurences found if more than one ('a la' gdb).

Fixed a bug in creating files for transcript and save commands.
Added a very dumb 'more' for the help command.
Fixed a bug in GPU MOVEI disassembly. ORIGINAL.

New features for 0.93:
Cleanup of parallel board detection. Basically the detection is:
	1/ Is there a parallel port ? Try to put the port in standard mode
	   and write a byte in it. If we can read this byte after writing in
	   I/O address, there is actually a board.
	2/ Is it bidirectionnal. In this case after putting the port in
	   input mode, we cant read no more what we wrote in it.
The bug Atari corp detected was: if there is nothing plugged in the parallel
DB25, then we always read the byte that was written in 1/. Now we send
another value for 2/.
The exit(-1) encountered if no board was detected is now replaced with
exit(0) to avoid go32 debug message when exiting.

New features for 0.94:
	None. Mainly a debug release.
27-dec-1993:
	- Fixed PC relative with negative offset disassembly.

New features for 0.96:
	- Fixed a bug in symbols handling, now symbols should appear correctly if
	  the file is loaded trough a filefix generated .SYM or a new aln generated
	  .ABS with the aread function.

	+ Added a command to load .ABS generated by the new ALN without the filefix
	  step. Try this 'aread' command and tell me if you like it. It works with all
	  .ABS, but the new ALN now defines symbols only once so rdbjag doesnt repeat a
	  symbol multiple times.

New features for 0.97:
	- Fixed a bug in 'sw' function, causing rdb to print a long in place of
	  a word if the value was negative,
	- Fixed a few bugs in the Atari version (thanks to Normen Kowalewski) :
	  now rdbjag wont make an infinite loop when breaking (ctrlC) while in wait.
	  Remember to make rdbjag.tos 'world readable' with prgflags if it hangs under
	  MultiTos.
	- Changed (again) the way rdbjag detects the Jag parallel port on PC's. Hope
	  this will help.
	- Changed the way rdbjag stops inverse video when reporting an error. Now it
	  uses ESC[0m. Looks like ANSI.SYS doesnt understand the standard ESC[27m to
	  stop inverse video.
	- Fixed a bug causing <DEL> key to not work under DOS.

New features for 0.98:
	- Fixed (again) a bug in inverse video handling on PC's (grin).
	+ Added a new switch in command line option: -d will force rdbjag to use the
	  parallel port specified with -p without test of parallel board. Try it if
	  your parallel board isn't recognized well enough.
	+ Added the possibility to specify in the command line the name of a .ABS
	  or .COF file to be 'aread'. You now can enter 'rdbjag turtdemo.cof' directly.
	- Fixed a bug causing the 'write' command to append to any existing file
	  (thanks to John Carmack @ Id Software).
	- Added three source level functions in rdbjag:
	1/ 'ls' will list the source code. Usage is:
	  ls <addr> will list from <addr> (as before)
	  ls :<#> will list line number <#> in current source file
	    Ex: ls :218 will list line 218 of current module.
	  ls <fname>:<#> will list line number <#> in <fname> source file
	    Ex: ls main.s:420 will list line 420 of source file main.s.
	  ls <fname>: will list current line number in <fname> source file
	    Ex: ls main.s: will list current line of source file main.s.

	2/ 'mlist' prints a list of all source files loaded in memory. Usage is:
	  mlist

	3/ 'mpurge' to unload source file(s) for small memory configurations.
	  Usage is:
	  mpurge <fname> will purge source file <fname> from memory.
	  mpurge * will purge all source files from memory.

	! In order to have the source level in your programs, you MUST use:
	  MADMAC with -fb -g
	  ALN with -e -g
	  (please see corresponding documentation for MADMAC and ALN).
	+ Added the source level handling where it was useful (variables not yet
	  handled: this will be 0.99):
		* after registers display (eg: 'x' but also 't', 'g' etc...).
		* the 'b' command recognizes the same syntax as 'ls'.
		* in breakpoints list.
	+ Changed line number management according to new MADMAC's one (-1).

New features for 0.99 ( next will be 0.99.1 :-) ):
	+ Added variable handling in completion and function parameters.
	  Maybe too slow but quickly done (one line) and dumb (what if some label is
	  to be called 'PC' ?).

New features for 1.0
	- Now it should works under Windows, 386max and OS/2 VDM sessions (thanks to
	  Sam Littlewood @ Argonaut).
	- Fixed a bug in source level when more than one "aread" was called.
	- Fixed a bug on Atari: "s" and "sw" were not working.
	- Fixed a bug leading to hang when entering 'reload', 'unload' or 'xgoto'
	  outside of a .db script (i.e when 'not loading'). ORIGINAL.
	- Fixed a bug in 'unalias' function. This was hanging before. ORIGINAL.
	+ Added a smarter 'more' everywhere it should be (I think).
	+ Added a new ls usage: ls <fname>: (see before).
	- Now RDBJAG swaps the message number under MSDOS (for autoexecute alias)
	  (thanks to Glenn Williams @ Williams Brothers Development).
	+ Added a smarter completion, context dependent.

21-mar-94:
	+ Added N_ASLINE source-level type symbol, so you must use MAC and ALN
	  compiled at or after 21-mar-94 if you have ORG'ed GPU/DSP code and want
	  to have source-level in it.
	+ Fixed a bug in MOVEI's display of symbols (they were swapped). ORIGINAL.
	+ Fixed a bug in ADDQMOD's display (1st operand was displayed in decimal
	  with a '$' sign!). ORIGINAL.
	+ Cosmetic changes in disassembly:
		values from 0 to 9 are displayed in decimal (so, without '$').
		moveq.l changed to moveq
		lea.l changed to lea
		scc.b changed to scc
		dbra changed to dbf
		move.l from or to usp changed to move

	+ Fixed the way variable names were handled in command line/scripts:
	  Debug symbols are still recognised, but they are scanned after all tries.
	  This is because it slowed down everything, and it is more consistent with
	  scripts. So now, globals/locals are scanned first, if it is not found then
	  RDB tries to evaluate in hexadecimal, and if it doesn't succeed, it scans
	  the debug symbols. If it still not found, it prints <not a number or
	  variable>. That means, if your variable seems like an hexa number, you
	  should prefix it with '.' (as before) otherwise it will be evaluated as a
	  number.
	+ Added the '-g' switch in command line that performs a go command after
	  initialisation (should be used as: rdbjag -g myprog). (wish from Rebellion
	  Software).
	+ Added (well, 10 minutes!) a skip command: 'z' skips next 68K instruction.
	  (z <count> skips <count> instructions).
	+ Added standard Motorola style CCDEFs in JR and JUMP disassembly.
	+ Added the "disaddr" internal variable which contains the current
	  disassembly start address.
	- Fixed a bug in COFF input (was forgetting last symbol).

15-apr-94:
	+ Added a new variable: dislab which controls the way labels are
	  disassembled. Set to 0 if you want old fashion (default is 1).

19-apr-94:
	+ Added a new variable: xenable which controls the x display after context
	  switching. Set to 1 if you want to have it. Default is 1 in non-windowed
	  version and 0 in windowed one (Wish from Robert Dibley @ Rebellion software).
	+ Added a new variable: srclevel which controls the source level display.
	  Set to 1 if you want to have it. Default is 1. (Wish from Robert Dibley @
	  Rebellion software).
	- Fixed one bug in GPU/DSP disassembly of STORE Rn,(R14/R15+n). ORIGINAL.
	  The label given was referencing 'n' and not 'Rn'!
	  (This was not happening in the new label display, of course...). Thanks to
	  Robert Dibley @ Rebellion Software.
	- Fixed a bug in getting line number for source level, i.e. <source>:<line>
	  that happened when I added handling of a current line number per source. It
	  was always taking the last one instead of the new one. Detected and reported
	  by ... guess who?

16-may-94:
	- Fixed a bug in transcript that made it always append to an existing file.
	  Nobody uses it?

24-jul-94:
	+ Added a '#' in bclr/bset/btst display in GPU disassembly.

10-aug-1994:
	+ Big improvement in parallel transfer protocol (brilliant idea, Tim!).
	  The new protocol is used for uploading a file to the Jaguar, when
	  a 'read' or an 'aread' function is used.
	  This is only for the PC/DOS version for the moment.

	  A new variable called 'pprot' is added. Its value may vary from -1
	  to 5, default value is 3. This value is a time loop for the debugger
	  to wait for the Jaguar to receive one byte. So the faster your
	  parallel board is, the higher this value must be set. 3 is the best
	  value for the SIIG board, 2 is the best value for an Everex MagicIO.

	  If your card is a SIIG one, just leave this variable set to 3. If
	  you have any other card, you'll have to find out by yourself what
	  value you have to assign to pprot: try to leave it set to 3. If you
	  get an error message during your next 'aread' or 'read' call,
	  increase it's value. If you get a speed < 100 Ko/s, try to decrease
	  it's value (using the command 'x pprot <value>'). Once you'll know
	  wich is the value for your card, just add a line in your RDB.RC file
	  with the command 'x pprot <value>'.

	  A value of 0 should work everywhere with a transfer speed of around
	  120Ko/s.

	  A value of -1 will reset the transfer protocol to the old slow one.
	  A transfer size < 8192 bytes will also use it automatically.

	  This protocol has to be uploaded in the Jaguar RAM prior to be used,
	  so it wont be used if you read a very short file. It uses memory
	  space from $3e00 to $4000, so do NOT try to read data into this
	  space! (Changed on 20-nov-1994 to $2200 to $2400).

	  ALSO: support has been added for software reset and stop. This
	  requires hardware changes to your Alpine board, please contact Atari
	  Corporation if you don't have them.

16-aug-1994:
	- Fixed a problem in fast // transfer when the block size is not a long
	  multiple. Thanks to Rob @ HMS Software.

23-aug-1994:
	+ Fast // protocol done on Atari/TOS too. Pprot is only taken as <0 (old slow
	  protocol) or >=0 (new fast protocol, with 3 fixed "out").

30-aug-1994:
	+ Changed the fast // protocol on Atari/TOS to take "pprot" number of "out"s.
	  It seems that on a TT pprot should be 3 and on Falcon 030 4. The 0 value for
	  pprot uses the full handshaked protocole as on PC/DOS. The printed time and
	  rate use the built-in clock instead of a timer as on PC/DOS, so they are
	  precise on a 2 seconds gap. Q: Why not using a timer? A: Why is the parallel
	  bus access not working in IPL<5?
	  Also fixed a pb with addq/subq value (probably came by 23-aug-1994).

01-sep-1994:
	+ Inserted a delay between // port toggling. This helps for some // cards
	  (like some built-in in notebooks and the like) in fast // transfert.

09-sep-1994:
	- Fixed this spurious '\' that was appearing in command line completion of
	  filenames. Also changed the '/' to '\' under DOS/TOS. All that is for
	  cosmetic purposes, since something like /1\2//3\\\\4///myprog works anyway.
	= Changed back some critical things by special request from Atari:
		moveq changed to moveq.l
		lea changed to lea.l
		scc changed to scc.b
		dbf changed to dbra
		move from or to usp changed to move.l
	= Same for 'dislab' default value, which is now 0 (like the good ole DB).
	= Added function 'fread' ('fast read') which is controled by 'pprot'.
	  'READ' IS NOW ALWAYS SLOW. pprot has no effect on it any more.

21-sep-1994:
	= Added function faread ('fast aread') which is controled by pprot. AREAD IS
	  ALWAYS SLOW. pprot has no effect on it any more. But, since it would too
	  loosy to not change it, launching rdbjag with a command line will perform
	  a "faread" function, unless pprot==-1. Whish of Robert Dibley @ Rebellion
	  Software.
	- Fixed a pb with the MORE in case of ctrl-c (it's really like the one under
	  Linux :=)) under certain circumstances (like dir - more - ctrl-c - vars).
	  ( I told you to use the 'Q' key ! -Laurent- )
	  Thanks to Robert Dibley @ Rebellion Software.
	+ Changed the '|' to tab (\t) in symbol display in console window.
	  Whish of Robert Dibley @ Rebellion Software.

28-sep-1994:
	= Removed 'faread'. 'Aread' follows 'pprot' as before.

30-sep-1994:
	+ Changed behaviour in case of Source Not Found error. It is only printed
	  the first time. Wish of Scott Sanders @ Atari Corporation.

09-oct-1994:
	= Emulated the side effect where 'x' resets the disassembly address to PC
	  (like the good ole DB).

11-oct-1994:
	- Fixed a bug that can explain why the fast protocol didn't work on some
	  (all ?) portable PC's. Please report if it now works for you.
	+ Handled REGEQUates defined with the new MADMAC syntax (bank 0/bank 1). They
	  will be fully handled when the GPU will be totally managed from inside.

19-oct-1994:
	- Fixed the previous fix of LEA/MOVEQ.

29-oct-1994:
	+ If the GPU/DSP disassembler finds that a "should be zero" 5-bit field is
	  not zero, it prints ";!!" after the instruction. I wish I could instead
	  display a dc.w, but some people would, as usual, complain that an unwanted
	  feature has been added. That way is a kind of kludge but neutral.

2-nov-1994:
	+ Added "suspend" command under Linux and reenabled it under Atari for MiNT.
	  If you want to suspend with ctrl-z, you must bind it.

20-nov-1994:
	= Changed fast // code location from $3e00 to $2200.

21-nov-1994:
	+ Added Home and End key handling in commandline editing (PageUp and
	  PageDown have the same effect too).

28-nov-1994:
	+ Added a new function: gasm <addr> <"opcode op0,op1">.
	  This assembles the given GPU assembly line into the given address.
	+ Added a new function: dasm <addr> <"opcode op0,op1">.
	  This assembles the given DSP assembly line into the given address.
	+ Added an interactive mode for gasm and dasm. Simply typing:
		gasm <addr>
	or	dasm <addr>
	  starts the interactive mode. 'q' to end.

04-dec-1994:
	+ Command-line completion has been reworked a bit. Mainly, you now
	  get the program module filenames together with the program symbols for
	  functions where it makes sense, and procedures and aliases where you want
	  commands.
	- The change made on 30-sep-1994 was sometimes not working. It is now.
	  Also, purging the module will make it searched again (until next error).
	  To reflect that, mlist displays the line numbers if the module is already
	  loaded and `N/A' if it was requested and doesn't appear to be available.

20-dec-1994:
	- Fixed a disassembly pb in MOVE PC,Rn. It was (eventually) indicating EQURs
	  related to R0 with dislab==0. ORIGINAL.
	  Bug report by Leonard Tramiel @ Atari Corporation.

23-dec-1994:
	= Changed lowercase hex output by the 'print' command to uppercase.
	  Wish of Leonard Tramiel @ Atari Corporation.

24-dec-1994:
	- Removed "[y/N]" printing after yes/no questions.
	  Wish of Leonard Tramiel @ Atari Corporation.

02-jan-1995:
	+ Almost finished GPU context handling. Waow, what a mess to do it!
	+ Added new variable: ctxtcpu, which contains the current cpu number
	  handled by t, etc... commands. Default: 0 for M68k.
	  Still some problems in GPU registers context switching. For that reason,
	  it is not possible to set GPU registers from DB for the moment.

05-jan-1995:
	+ Added ccr handling in GPU disassembly for JMP/JR.
	+ Added ccr handling in M68K disassembly for JMP/JSR.

06-jan-1995:
	+ GPU registers context switching now OK.
	+ Changed rate display for time<1 sec. Now displays the real time. Behaves
	  strangely under MS/Windows !?

07-jan-1995:
	= Changed "stop" command to "halt", according to WDB change.

09-jan-1995:
	+ Added ccr handling in DSP disassembly for JMP/JR.
	= GPU and DSP context switching seems OK and handled everywhere.
	  Still to do: breakpoints.
	= Removed old-style GPU disassembly.
	! WARNING: the new GPU/DSP context management is using the same stub area
	  for its code ($2000-$21ff). So, you will not be able to use the script
	  GPU.DB with DB or WDB version after 02-jan-1995.

11-jan-1995:
	+ Gasm and Dasm now take ccdef in upper case too.

12-jan-1995:
	= DB and WDB for PC/DOS and PC/Linux are now compiled with GCC 2.6.3.
	+ In command-line completion, symbols not found are searched again with a
	  '_' appended to them. Useful with GCC generated code! So, in order to
	  find those symbols easily, just type in the name WITHOUT '_' everywhere
	  and, unless there is another symbol with this name, it will be
	  recognised for what it is.

13-jan-1995:
	+ When using "getsym" (and therefore "aread"), already existing symbols
	  will not be created again. This has been requested at least by Ubi Soft.
	+ The GPU/DSP Data Organisation Registers are initialised before use of
	  GPU/DSP. This helps a lot!
	! WARNING: The alternate register bank is not handled!

14-jan-1995:
	+ New GPU/DSP script called ngpu.db, using the new variable ctxtcpu.
	  Mainly useful only with rdbjag.

21-jan-1995:
	- DB now handles COFF files with more than 3 sections (this cannot happen
	  with ALN). However, it is not possible to make WDB understand COFF
	  symbols, only BSD ones. Also, it will not handle section names longer
	  than 8 cars.
	  Bug report by Jamie @ Rebellion.

22-jan-1995:
	+ Added 'listsym' command: prints on one line all the symbols that are at
	  the given address, or at the current cpu PC.
	  Wish of Scott E. Corley @ High Voltage.

19-feb-1995:
	+ Added 'objlist' command that displays an object list. Should
	  replace the 'od.db' script. It has at least one advantage: it doesn't
	  stop displaying the list at the first stop object.

01-mar-1995:
	- Added missing '.' between integer and fractional part of HSCALE display.

03-mar-1995:
	+ The 'read' and 'fread' commands now take $802000 as default addr to read
	  to, if you don't provide one.

18-mar-1995:
	+ If RDBJAG is given a filename with a ".ROM" (either upper or lowercase)
	  suffix in the command line, it will 'fread' it to $802000.

TODO:
	+ Full C debugging (watch+inspect) handling.
	+ Optional case insensitivity for commands, variables, symbols.
	+ A smart TW that would detect a RTS.
	+ Maybe adding the GPU/DSP register number to the REGEQUate.

KNOWN BUGS:
	- setting R0 or R14 as gpurtmp or dsprtmp will not work. Bug report by
	Mike Beaton.

*******************************************************************************
*                                                                             *
*     PLEASE: If you have any bug report, send it to Atari AND TO US TOO!:    *
*      (if you have suggestions, comments, problems, send them to us also)    *
*     Brainstorm:                                                             *
*      Fax:   +331-44670811 (France)                                          *
*      BBS:   +331-44670844 (France)                                          *
*      Email: laurent@brasil.brainstorm.cnam.fr (not yet)                     *
*          or chemla@cnam.fr                                                  *
*          or laurent@brasil.frmug.fr.net                                     *
*      CIS:   76004,1616                                                      *
*     Atari Jaguar Developer Support:                                         *
*      Tel:   +1-408 745 8821 (Mike Fulton)                                   *
*          or +1-408 745 2127 (Normen B. Kowalewski)                          *
*          or +1-408 745 2143 (Scott Sanders)                                 *
*      Fax:   +1-408 745 2088                                                 *
*      CIS:   75300,1141 (Mike Fulton)                                        *
*          or 75300,3444 (Normen B. Kowalewski)                               *
*          or 70007,1135 (Scott Sanders)                                      *
*                                                                             *
*     The newest versions of the tools are always available on our BBS, in    *
*      the Jaguar Area.                                                       *
*                                                                             *
*******************************************************************************

Brainstorm.
