IntList manual ============== 2026 by E. C. Masloch. Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument. DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY. This document has been compiled on 2026-04-19. 1: Purpose ---------- IntList displays the interrupt list (originally released by Ralf Brown), in 4 different modes: - Summary view with search - Summary view line select mode - Detail view with list - Detail view in focus In focus detail view or using the -l switch or L command, IntList also allows to follow hyperlinks in the list that refer to other entries or tables. 2: Building ----------- IntList is an interpreted Perl program, so doesn't need to be build itself. However, you need a recent Perl, and the following modules from CPAN: - Curses - Audio::Beep - Syntax::Keyword::Try - Getopt::Long - File::Spec - Switch - File::HomeDir - File::Path Compiling the list requires FreePascal. 3: Example Setup ---------------- Obtain the new interrupt list from the project known as TheList, eg: git clone https://github.com/LoopZ/TheList.git list cd list cd utilities/makelist/ fpc makelist.lpr ./makelist -m none Older revisions of the interrupt list may be used. You should append all of the split list files into one single file. Run IntList with the --file switch for every list file you want to open: ./intlist.pl --multi \ --file ~/proj/list/TheList/INTERRUP.LST \ --file ~/proj/list/TheList/MEMORY.LST \ --file ~/proj/list/TheList/PORTS.LST \ --file ~/proj/list/TheList/FARCALL.LST Optionally provide a --link switch to jump to a particular entry, eg use --link 21.52 for opening the entry for the List of Lists. Now you can use IntList. 4: Usage -------- Most commands are accepted either capitalised or uncapitalised, but a few commands behave differently depending on capitalisation. 4.1 Command Q - Quit The Q command quits the IntList application. 4.2 Command R - Reload This command closes the listing file and re-opens it. This may be needed to discard buffered content in case the listing file is rewritten. 4.3 Command M - Multi or Unmulti This command toggles multi file mode. If multi mode is enabled, then search and hyperlinks will search through all open files in order. Additionally, if multi mode is enabled then the C commands are not available. 4.4 Command C - Cycle through listing files This command allows one to cycle manually through multiple listing files. All listing files have to be specified on the IntList script's command line when starting the pager. Depending on whether the "C" is capitalised or not, cycles backwards or forwards through the specified files. 4.5 Command S - Switch priority order of listing files This command swaps the currently active listing file with the one before it in the internal list of files. This is used to change the order of the files. It is only valid if the currently active file is not the first one yet. 4.6 Command O - Open new listing file This command brings up a filename prompt. Entering a filename allows opening a new listing file. The prompt can be aborted by entering Control-C or using the Backspace key on an empty input. The new listing file is appended to the end of the internal list of files. It is opened as the active listing file. 4.7 Command E - End an open listing file This command closes the currently active listing file. It removes that file from the internal list of files. This is only valid if more than one file is currently opened. The index of the active listing file is preserved unless the closed file was last. That is, the next file following the file to be closed is opened as active. 4.8 Command H - Reload history files The search pattern input, filename open input, and link input all have their own histories. Usually, IntList will initialise the histories during the application startup. The histories are read from the following files: ~/.local/share/.intlist/search_history ~/.local/share/.intlist/file_history ~/.local/share/.intlist/link_history Whenever a line is entered into one of these inputs, IntList will append that line to the corresponding history file. The only exception is if the last line in the file matches the newly entered line exactly then it is not entered again. The H command causes IntList to reload the histories from the files. Usually, if someone else modifies the history files then IntList will not change its in-memory histories to pick up the new content. This command allows forcing IntList to do just that. 4.9 Command L - Enter new hyperlink This command brings up a prompt to enter a new hyperlink. The prompt is displayed as a "#" hash sign. Examples: 21.52 Load List of Lists function. INT 13/AH=08h Load Get Drive Parameters int 13h entry. 2D.mm40"lDebug" Load lDebug AMIS message Extension for lDebug display message function. If the hyperlink is loaded successfully, the selected entry is immediately displayed in detail view focus mode. 4.10 Command Left and Right - Decrement or Increment stop position The stop position specifies how many columns at the line start are hidden from display. Stops are at every 8th column, matching the tabstops used in our files. 4.11 Command Tab - Cycle stop position or select next hyperlink In detail view focus mode, the Tab command selects the next visible hyperlink. If no hyperlink was selected yet, then the first visible hyperlink is selected. If no hyperlink is visible an error is shown. 4.12 Command Backtick - Select previous hyperlink In detail view focus mode, the Backtick command selects the previous visible hyperlink. If no hyperlink was selected yet, then the first visible hyperlink is selected. If no hyperlink is visible an error is shown. 4.13 Command Enter - Drill down view The Enter command does the following, depending on the current mode: Summary view with search Changes to summary view line select mode Summary view line select mode Changes to detail view with list Detail view with list Changes to detail view in focus Detail view in focus Loads entry referenced by currently selected hyperlink It is an error if the current mode is detail view in focus but no hyperlink is selected. 4.14 Command Esc or Blank - Move up view This does the reverse of the Enter command, moving up the view mode towards the less detailed modes. 4.15 Command F and B - Forwards and Backwards in link history These commands cycle through the stack of entries navigated to using hyperlinks. Note that after using the B command, loading any hyperlink will discard the stack entries that would have been accessible using the F command. 4.16 Movement commands In detail view focus mode, movement commands affect the lower pane displaying an entry. Otherwise they affect the only or upper pane displaying summaries. 4.16.1 Up command Moves the listing a line up. Does not move the listing if it already is at the very first line. Beeps if movement is not possible. 4.16.2 Down command Moves the listing a line down. Does not move the listing if it already is at the very last line. Beeps if movement is not possible. 4.16.3 Page Up command Moves the listing file a page up. Similarly restricted as the Up command. 4.16.4 Page Down command Moves the listing file a page down. Similarly restricted as the Down command. 4.16.5 g command - Move to first line (This command depends on capitalisation.) Moves the listing file to the first valid line. 4.16.6 G command - Move to last line (This command depends on capitalisation.) Moves the listing file to the last valid line. 4.17 Search commands - "/" and "?" In summary view line select mode and detail view with list mode, the search commands can be used to highlight matches within the viewed area. If in summary view with search or detail view focus mode, upon a successful search the active view additionally jumps so as to put the next match into the first line of the view. Search patterns can match an arbitrary regular expression. The slash "/" command searchs forwards starting from the line currently at the top of the view. The question mark "?" command instead searchs backwards. Both of the commands do not wrap around upon reaching the start or end of file. The search pattern input prompt that comes up upon entering one of the search commands allows simple line editing: A regular text codepoint Insert codepoint at cursor position. Left and Right Move cursor position. Backspace Delete codepoint before the cursor position. Backspace (when current input is empty) Abort search pattern input. Del Delete codepoint at cursor position. Home Move cursor position to start of line. End Move cursor position to end of current input. Up and Down Recall search pattern history. (Only valid if input not yet edited.) Enter Submit current input as search pattern. Control-C Abort search pattern input. Submitting empty input as a search pattern will automatically choose the most-recent search pattern from the history. Line matching (when not in trace mode) is slightly different depending on whether a search pattern was entered from an empty input or not. The search pattern can start with the sequence "(?i)" to search ignoring capitalisation. By default, capitalisation is observed. 5: Hyperlink formats -------------------- The following hyperlinks are recognised generally: INT xx Interrupt only. INT xx/AX=yyyyh/BX=zzzzh Interrupt and registers. AX=xxxxh Registers only, interrupt number must be implied by source. The first register must be AL, AH, or AX. (First register may be a different register if in "SeeAlso:" line.) MEM xxxxh:yyyyh Memory 16:16 pointer. The digits may be hexits or literal letters "X". MEM xxxxxxxxh Memory 32-bit pointer. The digits may be hexits or literal letters "X". @xxxxh:yyyyh Far call to 16:16 address. The digits may be hexits or literal letters "X". PORT xxxxh-yyyyh Port range. PORT xxxxh Single port. ,xxh Only allowed directly after an interrupt and registers or registers only hyperlink, without embedded whitespace. Links to the same target, except the last register value is as specified after the comma. All of the above accept a "name" after the base link, which is matched as a double quotemark directly after the last text followed by name match text and terminated by another double quotemark. The name match text must occur in the summary of the entry to match. Table hyperlinks are of the form #Xyyyy where the X is a digit or a capital letter, and the y are all digits. The -l switch and L command additionally accept some short forms: xx Interrupt only. xx.yy Interrupt and AH value. xx.yyyy Interrupt and AX value. xx.MMyy Interrupt and AL value. The MM is literal text, twice the letter M. Intended for AMIS interrupt 2Dh functions. 6: Errors --------- The second-to-last line is displayed in "standout" mode. It contains error messages if a number of error conditions occur. If a new non-empty error message is displayed, a beep is produced. The following error messages can occur: Cannot open input file: (Error condition) The R or C or O command was used and the listing file could not be opened. Missing additional listing file for switching The S command was used while only one listing file had been specified. Listing file is already first in list The S command was used but the active listing file already is first. Pattern not found A search command entered while in summary view with search did not match any lines. Invalid search pattern A search command received an invalid regular expression as input. No search pattern in history A search command received an empty input while no search history patterns were available. File already opened An open command received an input matching an existing opened file. No filename in history An open command received an empty input while no filename history entries were available. Must leave open at least one file An end command was entered while only one file is open. Entered reg only link without implicit INT A hyperlink with only registers was entered but there is no interrupt entry currently selected to use as the default interrupt. Internal error Shouldn't happen. Internal error: Invalid regs! Shouldn't happen. Entered invalid link L command or -l switch entered a not recognised hyperlink format. Hyperlink target not found Broken hyperlink that isn't found. No link in history Empty input to L command while history is empty. No hyperlink selected Enter command in detail view focus mode received without having selected a hyperlink using the Tab or Backtick commands. No hyperlink visible Tab or Backtick commands used in detail view focus mode while no hyperlink visible. No earlier link history entry! B command received without an earlier entry on the link history stack. No later link history entry! F command received without a later entry on the link history stack. 7: Display elements ------------------- The following display elements make up the display of the pager. Summary of listing file content The upper or only pane. Shows summary lines from the list. Search matches are highlighted. If a given line continues past the end of the display, the last display column contains a ">" that is highlighted (standout). Detail of listing file entry content The lower pane, if shown. Shows the full entry of the selected summary line. Search matches are highlighted. Opcode line The third-to-last line. At the start of this line, the most recently loaded hyperlink is shown in a normalised form, or the most recently entered mode after using the Enter or Blank commands. Near the end of this line there is a display of the current listing filename. It is given without any of the pathname's directory components. Error Line The second-to-last line. This displays error conditions as specified in section 6. It is also used as the area for the search pattern input prompt when one of the search commands was used. Likewise it is used for the filename input prompt when the O command was used, and the hyperlink input prompt when the L command is used. Command Line The last line. This lists some of the currently available commands. The Q and R commands are always displayed. The C and S commands are displayed if available. The vertical movement commands are not displayed. The search commands are not displayed. 8: Options reference -------------------- The following options may be specified when starting the IntList application. 8.1 --listing or --file - Specify list files This option can appear one or more times. All files specified to this option are opened as listing files. Use the "C", "c", and "S" commands to cycle between open files. 8.2 --multi - Set multi file mode default This option can occur any amount of times, but only the last setting is applied. This option can be prefixed as in --no-multi to disable multi file mode. Otherwise, it enables multi file mode. This is the same mode as toggled by the M command, refer to section 4.3. The default is off. 8.3 --link or -l - Specify hyperlink This switch should occur at most once. The text of the subsequent parameter is fed to the hyperlink selection mechanism. Note that to pass doublequotes for names, the quote marks may themselves have to be quoted to allow the shell to pass them to IntList. 8.4 --list - List hyperlinks to the terminal This switch causes the IntList program not to set up its TUI. Instead, it finds hyperlinks and displays them to stdout. The below options may be used to configure the list: 8.4.1 --broken - List only broken hyperlinks List only hyperlinks that would fail to load an entry in the TUI. 8.4.2 --link - List only hyperlinks in certain entries List only hyperlinks in the entries reachable from the given hyperlink. 8.4.3 --linebreak - Display a linebreak after the summary 8.4.4 --first - Display only hyperlinks in first entry This option only affects operation when both the --list and --link switches are specified. It will stop processing hyperlinks after the first entry reachable from the --link parameter. 8.4.5 --start - Display only hyperlinks starting from a subsequent entry This switch only affects operation when both the --list and --link switches are specified. A number is expected in the next parameter. It will start processing hyperlinks after skipping as many entries as specified. 8.4.6 --amount - Display only hyperlinks in a given number of entries This switch only affects operation when both the --list and --link switches are specified. A number is expected in the next parameter. It will stop processing hyperlinks after the first specified amount of entries reachable from the --link parameter. 8.4.7 --fiter-any - Display only hyperlinks matching at least one filter A regular expression match pattern is expected in the next parameter. If at least one "any" filter is specified, only hyperlinks that match one or multiple of the "any" filters are displayed. The "any" filters are joined in a logical OR fashion. 8.4.8 --fiter-all - Display only hyperlinks matching all filters A regular expression match pattern is expected in the next parameter. If any "all" filters are specified, only hyperlinks that match all of the "all" filters are displayed. The "all" filters are joined in a logical AND fashion. 8.4.9 --fiter-none - Display only hyperlinks not matching any filters A regular expression match pattern is expected in the next parameter. Only hyperlinks that do not match any of the "none" filters are displayed. The "none" filters are joined in a logical NOR fashion: The filter succeeds (it is True) only if all patterns fail (they are False). 8.5 --summary - List hyperlink summaries to the terminal This switch must be combined with --link, and may be combined with - -list. This switch causes the IntList program not to set up its TUI. Instead, it finds hyperlinks and displays them to stdout. Unlike --list alone, the dynamic summaries of link targets are shown. Without --list, only the summaries of the link targets selected by -- link are displayed. With --list the summaries of all link targets found listed in the selected entries are displayed. The --summary switch conflicts with --broken. Source Control Revision ID -------------------------- hg 62c8f6490501, from commit on at 2026-04-19 21:44:16 +0200 If this is in ecm's repository, you can find it at https://hg.pushbx.org/ecm/tractest/rev/62c8f6490501