******************************************************************************* * * * 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 Development Support: * * Tel: +1 408 745 8821 (Mike Fulton) * * or +1 408 745 2127 (Normen B. Kowalewski) * * Fax: +1 408 745 2082 * * CIS: 75300,1141 (Mike Fulton) * * or 75300,3444 (Normen B. Kowalewski) * * * * The newest versions of the tools are always available on our BBS, in * * the Jaguar Area. * * * ******************************************************************************* Notes on RDB: RDB expects a bidirectionnal parallel port on LPT1, LPT2 or LPT3. If you have other(s) 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 what 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 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/12/93: PC relative with negative offset disassembly corrected. New features for 0.96: - Corrected 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: - Corrected a bug in 'sw' function, causing rdb to print a long in place of a word if the value was negative, - Corrected 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. - Corrected a bug causing key to not work on PC keyboards New features for 0.98: - Corrected (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. - Corrected a bug causing the 'write' command to append to any existing file (thanks to John Carmack). - Added three source level functions in rdbjag: 'ls' will list the source code. Usage is: ls will list from (as before) ls :<#> will list line number <#> in current source file Ex: ls :218 will list line 218 of current module. ls :<#> will list line number <#> in source file Ex: ls main.s:420 will list line 420 of source file main.s. ls : will list current line number in source file Ex: ls main.s: will list current line of source file main.s. 'mlist' prints a list of all source files loaded in memory. Usage is: mlist 'mpurge' to unload source file(s) for small memory configurations. Usage is: mpurge will purge source file 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 from 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 : (see before). - Now RDBJAG swaps the message number under MSDOS (for autoexecute alias) (thanks to Glenn Williams from 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 . 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 skips 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 from Rebellion Software. - fixed a bug in getting line number for source level, i.e. : 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 '). 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 '. 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! 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 '\'. 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 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. 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. TODO: - Full GPU/DSP integration. - Full C debugging (watch+inspect) handling. - Object list window. KNOWN BUGS: None. ******************************************************************************* * * * 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 Development Support: * * Tel: +1 408 745 8821 (Mike Fulton) * * or +1 408 745 2127 (Normen B. Kowalewski) * * Fax: +1 408 745 2082 * * CIS: 75300,1141 (Mike Fulton) * * or 75300,3444 (Normen B. Kowalewski) * * * * The newest versions of the tools are always available on our BBS, in * * the Jaguar Area. * * * ******************************************************************************* Brainstorm 16-sep-1994.