%started% ===================== == Getting Started == Page 1 of 3 ===================== Welcome to the NCR NVDOS SCRIPTS Debugger Revision 1.0.0 NVDOS is a DOS-based debugger for NCR SCSI SCRIPTS. To EXECUTE code, you must have an adapter card with an NCR 53C700-66, NCR 53C710, NCR 53C720 or any NCR 53C8XX SCSI I/O Processor (SIOP) plugged into any empty expansion slot. You can use the debugger without a board to look through the menus or use the register search feature, which is described in the "Registers" section of this on-line help document. The debugger interface consists of pull-down menus that are accessed with the keyboard arrow keys and the ENTER key. In general, the ESC key can be used to cancel an action or back up through the menus. Each Menu Item can be accessed from the keyboard by typing the capital letter in the desired menu item. .cp Getting Started -----------------------------------------------Page 2 of 3 Some laptop computers may lock up during SCRIPTS operation if they contain non-standard DMA controllers. To avoid this, simply set DMA =0 in the NVXX.RST file. This software comes with a user's guide that explains the debugger menus in detail. The following information might help you get started: 1) NVDOS currently defaults to SIOP cards installed at segment D800. If your card resides at some other segment, select Config from the main menu bar followed by "Hrdwr config," or set a new MEM_MAP in the .RST file. 2) To load a SCRIPTS program (previously compiled with NASM), select File from the main menu followed by "Open file." 3) To view or modify the SIOP registers select Regs from the main menu or Window from the main menu followed by "open Regs." a) to modify a register's contents, use the arrow keys to position the cursor and press ENTER. 4) To view the loaded SCRIPTS file, select Window then "open Code." a) Use arrow keys, PGUP, and PGDWN to move through the SCRIPTS file b) While scrolling though the SCRIPTS code, pressing the M key displays the memory contents at the current line. .cp Getting Started------------------------------------------------Page 3 of 3 c) A search feature is included. To quickly jump to a section of code, press the slash key (/) followed by typing "inquiry"; the code window now shows the start of the inquiry SCSI SCRIPTS instruction. d) With the code window cursor highlighting the inquiry instruction, press the D key to load the DSP with the start location of the inquiry SCRIPTS instruction. Now press either the S key to step, or the R key to run until an interrupt occurs. All the code was written for a DOS platform using TURBO C compiler. NV00.exe = 53C700-66 debugger NV10.exe = 53C710 debugger NV20.exe = 53C720 debugger NVPCI.exe = 53C8XX debugger One final note on limitations: ------------------------------ 2000 line limit on SCRIPTS.SS File 64k buffer limit of instructions + data + SCRIPTS.SS text 256 DSA pointers *END* %registers% =============== == Registers == Page 1 of 4 =============== The register window contains the bit names and values for each of the SIOP operating registers. There are three ways to enter the register window: 1) Select the Window menu, then "open Regs" 2) Select the Window menu, then "open Code," and press the G Key 3) Select the Regs menu In the register window, use the arrow keys to position the cursor on the register you wish to examine and press ENTER. This will bring up the register modify screen, including binary bit descriptions. Press the ESC key to return control to the main menu without writing the register. FORCE Register Read - All 8-bit registers shown by the debugger are snapshots of live registers. To FORCE a new snapshot of all registers, press the F key while in the register window. .cp Registers--------------------------------------------------------Page 2 of 4 REGISTER SEARCH FEATURE "/" Pressing the slash key from the register window brings up the bit field search option. This search looks for the desired text in the bit names of all registers in the register window. This search is not case sensitive. Spaces are not allowed, since they are used as delimiters. EXAMPLE - To find out which register deals with the SIOP's Chained Mode feature, simply press the slash key followed by the word "chained." NVDOS searches all bit names for the word "chained" and jumps to the register that has that word in its bit descriptions. .cp Registers-------------------------------------------------------Page 3 of 4 REGISTER LOAD FEATURE To load registers with the contents of the NVXX.RST file, do the following: 1) Open the register load file using the File ---> "Open file" command. 2) Issue a Chip Reset from the code window. Other Register load files can be loaded by selecting File --->"Load Registers" REGISTER LOAD FILE FORMAT FOR SIOP The NVXX.RST file uses a free format structure, but only one entry per line "Register Name" = Data ;Any Comments ^ ^ | |________ Valid formats 12,0xA,b00001010 |___________________ Not Case Sensitive .cp Registers--------------------------------------------------------Page 4 of 4 REGISTER SAVE FEATURE Register values may be dumped to disk, and loaded later with the register load feature. The feature provides a simplified method of storing/retrieving SIOP setups. To save a copy of current register values, select File ---> "save Registers," then enter the DOS file name at the prompt. REGISTER SAVE FILE FORMAT FOR SIOP "Register Name" = Data ;Any Comments ^ ^ | |________ Valid formats 12,0xA,b00001010 |___________________ Not Case Sensitive *END* %config% ==================== == Configuration == Page 1 of 2 ==================== This debugger defaults to SEGMENT address D800 for the NCR SIOP adapter card using memory mapped access. The NCR SIOP development kit contains an adapter card which has jumper options to relocate the SEGMENT base address of the card to one of four values. To open the segment window, select Config --> "Hrdwr config" --> "Mem mapped" Now enter four hex digits for new memory mapped segment. While all the NCR SIOP adapter cards are memory mapped, NVDOS supports I/O mapped SIOP cards with I/O addressing. To change the I/O mapping, select Config --> "Hrdwr config" --> "I/O mapped" Choosing this option makes all access to the SIOP as an I/O mapped device. Enter a 16-bit I/O base port address. The NCR SIOP cards are memory mapped. DO NOT select I/O mapping for NCR cards received in the development kits. .cp Configuration--------------------------------------------------- Page 2 of 2 Some custom configuration parameters may be included in the NVXX.RST file. This file is loaded whenever a reset is executed from the code window or code is loaded from disk. The following parameters are allowed: MEM_MAP = XXXX ; Specifies memory mapped device, SEGMENT Base at XXXX IO_MAP = XXXX ; Specifies I/O Mapped device, Base address at XXXX DMA = X ; Specifies DMA channel assignment (valid 5,6 or 7) ; Specification of any other is ignored SPEED = X ; Slow Step Speed Factor, Valid options 0 - 15 ; 0 = Fastest ; 15 = Really Slow, (Approx 5 Seconds) *END* %break% ================== == Break Window == Page 1 of 1 ================== This main menu option displays a list of break points set in the Code Window. Break points are set while in the code display window by pressing the B key. To open the break point display window, select Bkpts from the main Menu. The break point window shows line numbers of the loaded SCRIPTS.LIS file that have software break points inserted. A maximum of eight break points may be inserted. Break points are simply SCRIPTS Interrupt instructions with a vector of 0xFFFFFFFF. *END* %mem% ================== == MEM Window == Page 1 of 1 ================== The memory window displays a byte listing of data residing at a given address. To open the memory window, select: Window ---> "open Mem" menu item. The user is prompted to supply a SEGMENT:OFFSET address. A window displays 128 bytes of data located there. The user can scan the data by pressing the PGUP or PGDN keys. Pressing ESC closes the window. Users can also modify bytes in memory by positioning the byte pointer highlighted with the ">" symbol. After using the arrow keys to position the ">" symbol, press the return key to enter new data. F Pressing F key while in the memory window brings up the Fill Memory Utility. User enters Length, Data fill value, and Data fill step. Input can be either decimal or hex (0x??) *END* %file% ================== == Open File == Page 1 of 1 ================== Compiled SCRIPTS files are loaded into NVDOS by selecting File ---> "Open File" from the menus. Type in the .LIS file name at the prompt. Only the root file name need be entered; a .LIS extension is automatically added. The length of the field is limited, so if the file doesn't reside in the current directory, the user may have to exit to the DOS shell and issue a cd (change directory) command to locate the file. *END* %dos% ================== == Dos Shell == Page 1 of 1 ================== Users can open a DOS shell to change directory, recompile SCRIPTS, etc. by selecting File ---> "Shell" from the menus. The shell displays the NCR logo, and allows the user to enter any DOS command or run programs. To return to the debugger environment, type "EXIT" and press the ENTER key. *END* %code% ================== == Code Window == Page 1 of 5 ================== The code window displays a compiled SCRIPTS file (.LIS) produced by the NASM assembler. Opening the code window is accomplished by selecting Window ---> "open Code" from the menus. Note: The SCRIPTS file must be previously compiled with NASM and loaded with the File ---> "Open file" selections before it can be opened with this command. .cp Code Window------------------------------------------------------page 2 of 5 CODE WINDOW KEYBOARD COMMANDS / Pressing the slash key from the code window brings up the text search option. This search is case sensitive. Spaces are not allowed. The cursor will jump to the first occurrence of the text search string found in the SCRIPTS file. >> Entering >> following the slash key causes the cursor to highlight the current instruction loaded in the DSP register. ## Entering integers following the slash key causes the cursor to highlight the selected line number of the loaded (.LIS) file. M Pressing the M key from the code window brings up the Memory dump window. The address and byte data shown correspond to the highlighted instruction or data that appeared in the code window. D DSP LOAD. Pressing the D key from the code window loads the DSP register with the address of the instruction highlighted. .cp Code Window------------------------------------------------------page 3 of 5 C Chip Reset. Pressing the C key from the code window reads NVXX.RST from disk and executes the contents in sequential order. B Add break point. Pressing the B key while in the code window adds a software break point instruction with a vector of 0xFFFFFFFF. NVDOS supports up to eight break points. To remove a break point, press B while highlighting a line that contains a break point. Lines that contain software break points are highlighted with three stars (***). W Slow Run. Pressing the W key loads the DSP with the highlighted SCRIPTS instruction. Execution stops when an interrupt is received, or when any key is pressed. S Single Step. Pressing the S key loads the DSP with the highlighted SCRIPTS instruction. Execution stops after each instruction completes, or when an interrupt occurs. .cp Code Window------------------------------------------------------page 4 of 5 R Run. Pressing the R key loads the DSP with the SCRIPTS instruction currently highlighted in the code window. Execution stops when an Interrupt instruction is executed. An execution time-out will halt the SCSI processor if an interrupt is not received in 1 sec. K Keyed Run. Pressing the K key loads the DSP with the SCRIPTS instruction currently highlighted in the code window. Execution stops when an Interrupt instruction is executed. The difference from the Run command is that polling of the ISTAT register will not begin until a key is pressed. This prevents unwanted execution time-outs. G Go to Registers. Pressing the G key from the code window moves the cursor to the Register window. Pressing the ESC key returns the cursor to the code window. .cp Code Window------------------------------------------------------page 5 of 5 L Looped Run. This run-time option allows users to execute code loops. The start of the loop is the current DSP value. The end of the loop is marked by an INT instruction with vector 0xFFFFFFFF. The end points are easily inserted with the break feature. Simply press the B key to mark the last code line of the loop. Looping stops when you press any key, or when any other interrupt occurs. P SIGP Run. Pressing the P key from the code window begins SCRIPTS execution at the current instruction in the DSP. Upon pressing any key the SIGP bit in the ISTAT register is set and interrupt polling begins. END Pressing the END key moves the cursor to the last line of the SCRIPTS file. HOME Pressing the HOME key moves the cursor to the first line of the SCRIPTS file. *END*