Home » Archimedes archive » Archimedes World » archimedes_world_volume_15_issue_2_scp.adf » !ARMEdit_ARMEdit » Docs/Module
Docs/Module
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » archimedes_world_volume_15_issue_2_scp.adf » !ARMEdit_ARMEdit |
Filename: | Docs/Module |
Read OK: | ✔ |
File size: | 43BB bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
File : Module Date : 07-Dec-97 Author : � A.Thoukydides, 1995, 1996, 1997 Description : Description of the ARMEdit module. INTRODUCTION The ARMEdit module forms the core of the ARMEdit suite of software. It provides the communications between software running on the PC card and RISC�OS. The module should normally be loaded after the desktop has been started, but before the PC front-end has been loaded. However, if Wimp$ScrapDir is set to a suitable value then the module may be loaded before the desktop has been entered. A good place for loading the ARMEdit module is in the !Run file of the PC front-end. The current version of this module will work with versions of the PC front-end software 1.87 and above. However, significantly better performance will be obtained if PCPro (!PC version 2.00 of higher) is used. The version number is displayed in the Info window from the icon-bar icon. See the Contacts documentation for details of how to obtain upgrades. SYSTEM VARIABLES The ARMEdit module sets and uses the following system variables: ARMEdit$Path Path used to access Messages file. This is normally set to point to the file contained within the module and placed in ResourceFS. ARMEdit$ScrapDir Directory used for temporary files. This is normally set to <Wimp$Scrap>.ARMEdit, but may be changed if required. If there is sufficient memory in the computer then better performance would result from placing this in a RAM disc. The module sets and uses this variable (if not already defined) during initialisation. Hence it is necessary for <Wimp$Scrap> to be defined before the module is loaded. *COMMANDS The following *commands are provided by the ARMEdit module: *ARMEdit_Clients This command displays details of the clients that have registered with the ARMEdit module for communication purposes. *ARMEdit_Devices List the RISC OS path of all active emulated devices. Several other details are also listed for each device. *ARMEdit_DevicesRelog [-now] Force a relog of the RISC OS directory structure. This releases most of the memory claimed to support device driver operation and closes open files. Note that this may not take immediate effect - DOS must acknowledge a change of disc before any relog occurs. This normally occurs if no files are open on the device, and a simple operation (such as typing DIR) is performed on the drive. Note that each emulated device is treated seperately; some devices may be reset before others. The -now switch forces an immediate reset. This should only be used if essential, and must never be used in the middle of a disc access, otherwise DOS could be confused by an inconsistent disc image. It can be useful to call this from the DOS command line using the OSCLI command (supplied as part of the ARMEdit suite) - perhaps it should be placed in a DOS batch file for easier use. *ARMEdit_DOSMap This command updates the cached list of mappings between DOS extensions and RISC OS filetypes. These details are read initially from DOSFS, but may be re-read at any time using this command. *ARMEdit_Files This command displays details of the RISC OS files currently open for PC software. For each open file the file handle and filename is displayed. There is also a field that indicates whether the file will automatically be deleted when it is closed (either explicitly by the PC software, or when the PC is reset or quit). Any files opened for the device driver are also listed. *ARMEdit_Memory This command displays details of the RISC OS memory currently being used by PC software. For each block of memory claimed the base address and size of the block is displayed. The memory is currently allocated from the RMA, but a header is attached to the start of each block. Hence the address displayed is not the start of a heap block. The information in the header is used to automatically release the memory when the PC is reset or quit if the PC software fails to do so. *ARMEdit_Polling [[-fore] <polls>] [[-back] <polls>] This command allows the multitasking speed of the PC card to be controlled. Larger values increase the performance of the PC card at the expense of slowing down the desktop. A value of 0 results in the normal behaviour. Use with no parameters to display the current settings. If only a single value is specified (without switches) then both settings are updated. *ARMEdit_Version This command displays the version numbers of the data structures used by the most recently used PC front-end. It also displays the range of versions catered for by this version of the module. SWIs The following SWIs are provided by the ARMEdit module. For more details regarding the use of the communciations SWIs see the Code documentation. SWI "ARMEdit_ControlPC" (&4BC40) Control the PC front-end. On entry: R0 = Operation to perform: 0 Suspend full screen mode 1 Freeze running in a window 2 Reset the PC 3 Quit the front-end On exit: All registers preserved. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: This call allows the PC front-end to be controlled. Note that if the PC front-end is not the current application then this will only take effect the next time the front-end is paged in. Note that suspending full screen mode only starts execution in a window if enabled by the current configuration. SWI "ARMEdit_TalkStart" (&4BC41) Register a new client task. On entry: R0 = Pre-allocated ID for this task. R1 = Flags (see below). R2 = Pointer to a function to be called when a message is available, or 0 for none. R3 = Value for R12 to contain when function pointed to by R2 is called. On exit: R0 = A unique client handle. R1 = Pointer to a poll word for this task. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: An application that provides services to PC software should call this when it is starting. A message buffer is allocated and a unique handle for this task assigned. This handle should be stored and used in all other calls relating to this task. The currently defined flag bits are: Bit Meaning if set 0 Messages from the ARMEdit module are required. All other bits should be set to 0 to allow for future expansion. The poll word is initially set to zero. When there is potentially a message waiting for this task the poll word is set to a non-zero value. The poll word is cleared when either the message has been read, or no message is available for some other reason. Note that a non-zero poll word does not imply that a message will be available; another task might have read the message if it was not directed to a specific handle. The poll word must not be written to; it must only be modified by the ARMEdit module. SWI "ARMEdit_TalkEnd" (&4BC42) Deregister a client task. On entry: R0 = The previously assigned handle for this client task. On exit: All registers preserved. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: All applications that call ARMEdit_TalkStart must call this before they terminate. This releases the message buffer and allows other tasks to detect whether particular services are available. SWI "ARMEdit_TalkTX" (&4BC43) Send a message to another client task. On entry: R0 = Client handle for this task. R1 = Either the ID or client handle for the recipient (if R2 not 0). R2 = Pointer to block containing the message to send, or 0 to check if the buffer already contains a message. On exit: R2 = Pointer to message buffer, or 0 if no message is waiting to be delivered. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: Send a message to another task. The destination task can be specified using either it's ID or client handle. If the ID is specified then it will be offered to each matching task that polls it until it is acknowledged. A particular message is only offered to each task once. When sending messages to PC software (ID = 0) the handle should always be specified. Note that the message buffer for each task can only contain a single message to send; if there is already a message waiting to be delivered then it is overwritten. When multiple clients are used, this SWI should first be called with R2 = 0 to check if a message is still waiting. Broadcast messages are never cleared automatically. SWI "ARMEdit_TalkRX" (&4BC44) Check for any waiting messages for this client task. On entry: R0 = Client handle for this task. On exit: R0 = Pointer to block containing waiting message, or 0 if no messages waiting. R1 = Source ID. R2 = Source client handle. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: Check for any waiting messages. If none are available R0 contains 0 on exit, otherwise it contains a pointer to the first message. The message should be checked, and if it is claimed ARMEdit_TalkAck or ARMEdit_TalkReply should be called to prevent it being passed to other clients. Any information required from the message must be read or copied immediately, since the message could be overwritten by a new message. The specified source client handle should be used for any reply; unlike the ID it uniquely identifies a particular instantiation of a client. If this call is successful then it should be called again; it is possible for multiple messages to be pending for a single client. SWI "ARMEdit_TalkAck" (&4BC45) Claim the most recently read message. On entry: R0 = Client handle for this task. On exit: All registers preserved. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: After reading a message with ARMEdit_TalkRX, this call should be used to claim the message, and to prevent it being offered to other clients. This should be used before calling any other SWIs from this module. If the message was sent by the ARMEdit module then calling this SWI has no effect; other clients still receive the message. SWI "ARMEdit_HPC" (&4BC46) Call an ARMEdit HPC service. On entry: R0 = Length of first input block. R1 = Pointer to first input block. R2 = Length of second input block. R3 = Pointer to second input block. R4 = Length of first output block. R5 = Pointer to first output block. R6 = Length of second output block. R7 = Pointer to second output block. On exit: All registers preserved. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: This call may either be used to test HPC services, or to provide access to the routines from a system that does not support either of the communications systems used normally by the ARMEdit system. For convenience the input and output data may be split into two portions. Any length value may be zero to omit that portion. The input data must be at least two bytes long to contain a valid ID. SWI "ARMEdit_Polling" (&4BC47) Control the multitasking speed of the PC card. On entry: R0 = Foreground speed, or -1 to read the current setting. R1 = Background speed, or -1 to read the current setting. On exit: R0 = The current foreground speed. R1 = The current background speed. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: This call has has a similar use to *ARMEdit_Polling. Larger values increase the performance of the PC card at the expense of slowing down the desktop. A value of 0 results in the normal behaviour. SWI "ARMEdit_TalkReply" (&4BC48) Reply to a message from another client task. On entry: R0 = Client handle for this task. R1 = The client handle for the recipient. R2 = Pointer to block containing the message to send. On exit: All registers preserved. Interrupts: Interrupt status is undefined. Fast interrupts are enabled. Processor mode: Processor is in SVC mode. Re-entrancy: SWI is not re-entrant. Use: This is like ARMEdit_TalkTX, except that the message is stored in the destination task's message buffer. The destination task must be specified by it's client handle; it is not possible to send the message to an ID. The main use of this call is to support the easy creation of RISC OS tasks acting as a server for multiple PC tasks. THINGS TO DO The following are changes that may be made to the ARMEdit module sometime in the future. None at the moment! VERSION HISTORY 0.00 (12-Nov-95) Original development version. 0.01 (14-Nov-95) Fixed bugs in file handling. Removed stray debugging code. Sets variable for scrap directory and ensure it exists. 0.02 (15-Nov-95) Included extra command to display PC front-end version. Fixed workspace handling for *commands. (Oops!) 0.03 (17-Nov-95) Uses correct HPC service identifier. Includes development versions of device driver support. 0.04 (21-Nov-95) Implemented the *commands and real HPC support. 0.06 (22-Dec-95) Added SWI to control the PC front-end. 0.07 (28-Dec-95) Added message passing protocol. 1.00 (12-Jan-96) First official release version. 1.01 (11-Feb-96) Does not crash when no DOSMap mappings defined. Module can be loaded after new versions of the PC front-end. 1.02 (06-Aug-96) Some memory management moved to a dynamic area if available. Device driver support added. Routines to convert date and time stamps included. Added SWI to call internal HPC services. Corrected command help texts. Added command to set multitasking speed of PC front-end. Provided mechanism for checking delivery of messages. 1.03 (21-Feb-97) Added SWI to set multitasking speed of PC front-end. Added SWI to reply to a message. Broadcast messages from the ARMEdit module are now sent. Speed control now works correctly with PC front-end 2v02. Extended *ARMEdit_DevicesRelog to force immediate relog. 1.04 (07-Dec-97) Extra information is displayed for *ARMEdit_Devices. *ARMEdit_Files also lists files used by the device driver.
00000000 46 69 6c 65 20 20 20 20 20 20 20 20 3a 20 4d 6f |File : Mo| 00000010 64 75 6c 65 0a 44 61 74 65 20 20 20 20 20 20 20 |dule.Date | 00000020 20 3a 20 30 37 2d 44 65 63 2d 39 37 0a 41 75 74 | : 07-Dec-97.Aut| 00000030 68 6f 72 20 20 20 20 20 20 3a 20 a9 20 41 2e 54 |hor : . A.T| 00000040 68 6f 75 6b 79 64 69 64 65 73 2c 20 31 39 39 35 |houkydides, 1995| 00000050 2c 20 31 39 39 36 2c 20 31 39 39 37 0a 44 65 73 |, 1996, 1997.Des| 00000060 63 72 69 70 74 69 6f 6e 20 3a 20 44 65 73 63 72 |cription : Descr| 00000070 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 41 52 |iption of the AR| 00000080 4d 45 64 69 74 20 6d 6f 64 75 6c 65 2e 0a 0a 0a |MEdit module....| 00000090 49 4e 54 52 4f 44 55 43 54 49 4f 4e 0a 0a 54 68 |INTRODUCTION..Th| 000000a0 65 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c 65 |e ARMEdit module| 000000b0 20 66 6f 72 6d 73 20 74 68 65 20 63 6f 72 65 20 | forms the core | 000000c0 6f 66 20 74 68 65 20 41 52 4d 45 64 69 74 20 73 |of the ARMEdit s| 000000d0 75 69 74 65 20 6f 66 20 73 6f 66 74 77 61 72 65 |uite of software| 000000e0 2e 20 49 74 0a 70 72 6f 76 69 64 65 73 20 74 68 |. It.provides th| 000000f0 65 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 73 |e communications| 00000100 20 62 65 74 77 65 65 6e 20 73 6f 66 74 77 61 72 | between softwar| 00000110 65 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 74 68 65 |e running on the| 00000120 20 50 43 20 63 61 72 64 20 61 6e 64 0a 52 49 53 | PC card and.RIS| 00000130 43 a0 4f 53 2e 0a 0a 54 68 65 20 6d 6f 64 75 6c |C.OS...The modul| 00000140 65 20 73 68 6f 75 6c 64 20 6e 6f 72 6d 61 6c 6c |e should normall| 00000150 79 20 62 65 20 6c 6f 61 64 65 64 20 61 66 74 65 |y be loaded afte| 00000160 72 20 74 68 65 20 64 65 73 6b 74 6f 70 20 68 61 |r the desktop ha| 00000170 73 20 62 65 65 6e 20 73 74 61 72 74 65 64 2c 20 |s been started, | 00000180 62 75 74 0a 62 65 66 6f 72 65 20 74 68 65 20 50 |but.before the P| 00000190 43 20 66 72 6f 6e 74 2d 65 6e 64 20 68 61 73 20 |C front-end has | 000001a0 62 65 65 6e 20 6c 6f 61 64 65 64 2e 20 48 6f 77 |been loaded. How| 000001b0 65 76 65 72 2c 20 69 66 20 57 69 6d 70 24 53 63 |ever, if Wimp$Sc| 000001c0 72 61 70 44 69 72 20 69 73 20 73 65 74 20 74 6f |rapDir is set to| 000001d0 0a 61 20 73 75 69 74 61 62 6c 65 20 76 61 6c 75 |.a suitable valu| 000001e0 65 20 74 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c |e then the modul| 000001f0 65 20 6d 61 79 20 62 65 20 6c 6f 61 64 65 64 20 |e may be loaded | 00000200 62 65 66 6f 72 65 20 74 68 65 20 64 65 73 6b 74 |before the deskt| 00000210 6f 70 20 68 61 73 20 62 65 65 6e 0a 65 6e 74 65 |op has been.ente| 00000220 72 65 64 2e 20 41 20 67 6f 6f 64 20 70 6c 61 63 |red. A good plac| 00000230 65 20 66 6f 72 20 6c 6f 61 64 69 6e 67 20 74 68 |e for loading th| 00000240 65 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c 65 |e ARMEdit module| 00000250 20 69 73 20 69 6e 20 74 68 65 20 21 52 75 6e 20 | is in the !Run | 00000260 66 69 6c 65 20 6f 66 0a 74 68 65 20 50 43 20 66 |file of.the PC f| 00000270 72 6f 6e 74 2d 65 6e 64 2e 0a 0a 54 68 65 20 63 |ront-end...The c| 00000280 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 6f |urrent version o| 00000290 66 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 77 69 |f this module wi| 000002a0 6c 6c 20 77 6f 72 6b 20 77 69 74 68 20 76 65 72 |ll work with ver| 000002b0 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 50 43 0a |sions of the PC.| 000002c0 66 72 6f 6e 74 2d 65 6e 64 20 73 6f 66 74 77 61 |front-end softwa| 000002d0 72 65 20 31 2e 38 37 20 61 6e 64 20 61 62 6f 76 |re 1.87 and abov| 000002e0 65 2e 20 48 6f 77 65 76 65 72 2c 20 73 69 67 6e |e. However, sign| 000002f0 69 66 69 63 61 6e 74 6c 79 20 62 65 74 74 65 72 |ificantly better| 00000300 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 77 69 6c | performance.wil| 00000310 6c 20 62 65 20 6f 62 74 61 69 6e 65 64 20 69 66 |l be obtained if| 00000320 20 50 43 50 72 6f 20 28 21 50 43 20 76 65 72 73 | PCPro (!PC vers| 00000330 69 6f 6e 20 32 2e 30 30 20 6f 66 20 68 69 67 68 |ion 2.00 of high| 00000340 65 72 29 20 69 73 20 75 73 65 64 2e 20 54 68 65 |er) is used. The| 00000350 20 76 65 72 73 69 6f 6e 0a 6e 75 6d 62 65 72 20 | version.number | 00000360 69 73 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 |is displayed in | 00000370 74 68 65 20 49 6e 66 6f 20 77 69 6e 64 6f 77 20 |the Info window | 00000380 66 72 6f 6d 20 74 68 65 20 69 63 6f 6e 2d 62 61 |from the icon-ba| 00000390 72 20 69 63 6f 6e 2e 20 53 65 65 20 74 68 65 0a |r icon. See the.| 000003a0 43 6f 6e 74 61 63 74 73 20 64 6f 63 75 6d 65 6e |Contacts documen| 000003b0 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 |tation for detai| 000003c0 6c 73 20 6f 66 20 68 6f 77 20 74 6f 20 6f 62 74 |ls of how to obt| 000003d0 61 69 6e 20 75 70 67 72 61 64 65 73 2e 0a 0a 0a |ain upgrades....| 000003e0 53 59 53 54 45 4d 20 56 41 52 49 41 42 4c 45 53 |SYSTEM VARIABLES| 000003f0 0a 0a 54 68 65 20 41 52 4d 45 64 69 74 20 6d 6f |..The ARMEdit mo| 00000400 64 75 6c 65 20 73 65 74 73 20 61 6e 64 20 75 73 |dule sets and us| 00000410 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 |es the following| 00000420 20 73 79 73 74 65 6d 20 76 61 72 69 61 62 6c 65 | system variable| 00000430 73 3a 0a 0a 20 20 20 20 41 52 4d 45 64 69 74 24 |s:.. ARMEdit$| 00000440 50 61 74 68 0a 20 20 20 20 0a 20 20 20 20 20 20 |Path. . | 00000450 20 20 50 61 74 68 20 75 73 65 64 20 74 6f 20 61 | Path used to a| 00000460 63 63 65 73 73 20 4d 65 73 73 61 67 65 73 20 66 |ccess Messages f| 00000470 69 6c 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 72 |ile. This is nor| 00000480 6d 61 6c 6c 79 20 73 65 74 20 74 6f 20 70 6f 69 |mally set to poi| 00000490 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 74 68 |nt to. th| 000004a0 65 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 65 64 |e file contained| 000004b0 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 64 75 | within the modu| 000004c0 6c 65 20 61 6e 64 20 70 6c 61 63 65 64 20 69 6e |le and placed in| 000004d0 20 52 65 73 6f 75 72 63 65 46 53 2e 0a 20 20 20 | ResourceFS.. | 000004e0 20 20 20 20 20 0a 20 20 20 20 0a 20 20 20 20 41 | . . A| 000004f0 52 4d 45 64 69 74 24 53 63 72 61 70 44 69 72 0a |RMEdit$ScrapDir.| 00000500 20 20 20 20 0a 20 20 20 20 20 20 20 20 44 69 72 | . Dir| 00000510 65 63 74 6f 72 79 20 75 73 65 64 20 66 6f 72 20 |ectory used for | 00000520 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 2e |temporary files.| 00000530 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 6c | This is normall| 00000540 79 20 73 65 74 20 74 6f 0a 20 20 20 20 20 20 20 |y set to. | 00000550 20 3c 57 69 6d 70 24 53 63 72 61 70 3e 2e 41 52 | <Wimp$Scrap>.AR| 00000560 4d 45 64 69 74 2c 20 62 75 74 20 6d 61 79 20 62 |MEdit, but may b| 00000570 65 20 63 68 61 6e 67 65 64 20 69 66 20 72 65 71 |e changed if req| 00000580 75 69 72 65 64 2e 20 49 66 20 74 68 65 72 65 20 |uired. If there | 00000590 69 73 0a 20 20 20 20 20 20 20 20 73 75 66 66 69 |is. suffi| 000005a0 63 69 65 6e 74 20 6d 65 6d 6f 72 79 20 69 6e 20 |cient memory in | 000005b0 74 68 65 20 63 6f 6d 70 75 74 65 72 20 74 68 65 |the computer the| 000005c0 6e 20 62 65 74 74 65 72 20 70 65 72 66 6f 72 6d |n better perform| 000005d0 61 6e 63 65 20 77 6f 75 6c 64 0a 20 20 20 20 20 |ance would. | 000005e0 20 20 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 70 | result from p| 000005f0 6c 61 63 69 6e 67 20 74 68 69 73 20 69 6e 20 61 |lacing this in a| 00000600 20 52 41 4d 20 64 69 73 63 2e 0a 20 20 20 20 20 | RAM disc.. | 00000610 20 20 20 0a 20 20 20 20 20 20 20 20 54 68 65 20 | . The | 00000620 6d 6f 64 75 6c 65 20 73 65 74 73 20 61 6e 64 20 |module sets and | 00000630 75 73 65 73 20 74 68 69 73 20 76 61 72 69 61 62 |uses this variab| 00000640 6c 65 20 28 69 66 20 6e 6f 74 20 61 6c 72 65 61 |le (if not alrea| 00000650 64 79 20 64 65 66 69 6e 65 64 29 0a 20 20 20 20 |dy defined). | 00000660 20 20 20 20 64 75 72 69 6e 67 20 69 6e 69 74 69 | during initi| 00000670 61 6c 69 73 61 74 69 6f 6e 2e 20 48 65 6e 63 65 |alisation. Hence| 00000680 20 69 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 | it is necessary| 00000690 20 66 6f 72 20 3c 57 69 6d 70 24 53 63 72 61 70 | for <Wimp$Scrap| 000006a0 3e 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 |> to be. | 000006b0 64 65 66 69 6e 65 64 20 62 65 66 6f 72 65 20 74 |defined before t| 000006c0 68 65 20 6d 6f 64 75 6c 65 20 69 73 20 6c 6f 61 |he module is loa| 000006d0 64 65 64 2e 0a 20 20 20 20 0a 0a 2a 43 4f 4d 4d |ded.. ..*COMM| 000006e0 41 4e 44 53 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 |ANDS..The follow| 000006f0 69 6e 67 20 2a 63 6f 6d 6d 61 6e 64 73 20 61 72 |ing *commands ar| 00000700 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 |e provided by th| 00000710 65 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c 65 |e ARMEdit module| 00000720 3a 0a 20 20 20 20 20 20 20 20 0a 0a 20 20 20 20 |:. .. | 00000730 2a 41 52 4d 45 64 69 74 5f 43 6c 69 65 6e 74 73 |*ARMEdit_Clients| 00000740 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 54 68 |. . Th| 00000750 69 73 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c |is command displ| 00000760 61 79 73 20 64 65 74 61 69 6c 73 20 6f 66 20 74 |ays details of t| 00000770 68 65 20 63 6c 69 65 6e 74 73 20 74 68 61 74 20 |he clients that | 00000780 68 61 76 65 20 72 65 67 69 73 74 65 72 65 64 0a |have registered.| 00000790 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65 | with the| 000007a0 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c 65 20 | ARMEdit module | 000007b0 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f |for communicatio| 000007c0 6e 20 70 75 72 70 6f 73 65 73 2e 0a 0a 0a 20 20 |n purposes.... | 000007d0 20 20 2a 41 52 4d 45 64 69 74 5f 44 65 76 69 63 | *ARMEdit_Devic| 000007e0 65 73 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 |es. . | 000007f0 4c 69 73 74 20 74 68 65 20 52 49 53 43 20 4f 53 |List the RISC OS| 00000800 20 70 61 74 68 20 6f 66 20 61 6c 6c 20 61 63 74 | path of all act| 00000810 69 76 65 20 65 6d 75 6c 61 74 65 64 20 64 65 76 |ive emulated dev| 00000820 69 63 65 73 2e 20 53 65 76 65 72 61 6c 20 6f 74 |ices. Several ot| 00000830 68 65 72 0a 20 20 20 20 20 20 20 20 64 65 74 61 |her. deta| 00000840 69 6c 73 20 61 72 65 20 61 6c 73 6f 20 6c 69 73 |ils are also lis| 00000850 74 65 64 20 66 6f 72 20 65 61 63 68 20 64 65 76 |ted for each dev| 00000860 69 63 65 2e 0a 0a 0a 20 20 20 20 2a 41 52 4d 45 |ice.... *ARME| 00000870 64 69 74 5f 44 65 76 69 63 65 73 52 65 6c 6f 67 |dit_DevicesRelog| 00000880 20 5b 2d 6e 6f 77 5d 0a 20 20 20 20 0a 20 20 20 | [-now]. . | 00000890 20 20 20 20 20 46 6f 72 63 65 20 61 20 72 65 6c | Force a rel| 000008a0 6f 67 20 6f 66 20 74 68 65 20 52 49 53 43 20 4f |og of the RISC O| 000008b0 53 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 75 |S directory stru| 000008c0 63 74 75 72 65 2e 20 54 68 69 73 20 72 65 6c 65 |cture. This rele| 000008d0 61 73 65 73 20 6d 6f 73 74 0a 20 20 20 20 20 20 |ases most. | 000008e0 20 20 6f 66 20 74 68 65 20 6d 65 6d 6f 72 79 20 | of the memory | 000008f0 63 6c 61 69 6d 65 64 20 74 6f 20 73 75 70 70 6f |claimed to suppo| 00000900 72 74 20 64 65 76 69 63 65 20 64 72 69 76 65 72 |rt device driver| 00000910 20 6f 70 65 72 61 74 69 6f 6e 20 61 6e 64 20 63 | operation and c| 00000920 6c 6f 73 65 73 0a 20 20 20 20 20 20 20 20 6f 70 |loses. op| 00000930 65 6e 20 66 69 6c 65 73 2e 0a 0a 20 20 20 20 20 |en files... | 00000940 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 | Note that thi| 00000950 73 20 6d 61 79 20 6e 6f 74 20 74 61 6b 65 20 69 |s may not take i| 00000960 6d 6d 65 64 69 61 74 65 20 65 66 66 65 63 74 20 |mmediate effect | 00000970 2d 20 44 4f 53 20 6d 75 73 74 20 61 63 6b 6e 6f |- DOS must ackno| 00000980 77 6c 65 64 67 65 0a 20 20 20 20 20 20 20 20 61 |wledge. a| 00000990 20 63 68 61 6e 67 65 20 6f 66 20 64 69 73 63 20 | change of disc | 000009a0 62 65 66 6f 72 65 20 61 6e 79 20 72 65 6c 6f 67 |before any relog| 000009b0 20 6f 63 63 75 72 73 2e 20 54 68 69 73 20 6e 6f | occurs. This no| 000009c0 72 6d 61 6c 6c 79 20 6f 63 63 75 72 73 20 69 66 |rmally occurs if| 000009d0 0a 20 20 20 20 20 20 20 20 6e 6f 20 66 69 6c 65 |. no file| 000009e0 73 20 61 72 65 20 6f 70 65 6e 20 6f 6e 20 74 68 |s are open on th| 000009f0 65 20 64 65 76 69 63 65 2c 20 61 6e 64 20 61 20 |e device, and a | 00000a00 73 69 6d 70 6c 65 20 6f 70 65 72 61 74 69 6f 6e |simple operation| 00000a10 20 28 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 | (such as. | 00000a20 20 20 74 79 70 69 6e 67 20 44 49 52 29 20 69 73 | typing DIR) is| 00000a30 20 70 65 72 66 6f 72 6d 65 64 20 6f 6e 20 74 68 | performed on th| 00000a40 65 20 64 72 69 76 65 2e 20 4e 6f 74 65 20 74 68 |e drive. Note th| 00000a50 61 74 20 65 61 63 68 20 65 6d 75 6c 61 74 65 64 |at each emulated| 00000a60 20 64 65 76 69 63 65 0a 20 20 20 20 20 20 20 20 | device. | 00000a70 69 73 20 74 72 65 61 74 65 64 20 73 65 70 65 72 |is treated seper| 00000a80 61 74 65 6c 79 3b 20 73 6f 6d 65 20 64 65 76 69 |ately; some devi| 00000a90 63 65 73 20 6d 61 79 20 62 65 20 72 65 73 65 74 |ces may be reset| 00000aa0 20 62 65 66 6f 72 65 20 6f 74 68 65 72 73 2e 0a | before others..| 00000ab0 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 | . | 00000ac0 20 54 68 65 20 2d 6e 6f 77 20 73 77 69 74 63 68 | The -now switch| 00000ad0 20 66 6f 72 63 65 73 20 61 6e 20 69 6d 6d 65 64 | forces an immed| 00000ae0 69 61 74 65 20 72 65 73 65 74 2e 20 54 68 69 73 |iate reset. This| 00000af0 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 | should only be | 00000b00 75 73 65 64 0a 20 20 20 20 20 20 20 20 69 66 20 |used. if | 00000b10 65 73 73 65 6e 74 69 61 6c 2c 20 61 6e 64 20 6d |essential, and m| 00000b20 75 73 74 20 6e 65 76 65 72 20 62 65 20 75 73 65 |ust never be use| 00000b30 64 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 |d in the middle | 00000b40 6f 66 20 61 20 64 69 73 63 20 61 63 63 65 73 73 |of a disc access| 00000b50 2c 0a 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 |,. otherw| 00000b60 69 73 65 20 44 4f 53 20 63 6f 75 6c 64 20 62 65 |ise DOS could be| 00000b70 20 63 6f 6e 66 75 73 65 64 20 62 79 20 61 6e 20 | confused by an | 00000b80 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 64 69 73 |inconsistent dis| 00000b90 63 20 69 6d 61 67 65 2e 0a 20 20 20 20 20 20 20 |c image.. | 00000ba0 20 0a 20 20 20 20 20 20 20 20 49 74 20 63 61 6e | . It can| 00000bb0 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 63 61 | be useful to ca| 00000bc0 6c 6c 20 74 68 69 73 20 66 72 6f 6d 20 74 68 65 |ll this from the| 00000bd0 20 44 4f 53 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e | DOS command lin| 00000be0 65 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 |e using the. | 00000bf0 20 20 20 20 4f 53 43 4c 49 20 63 6f 6d 6d 61 6e | OSCLI comman| 00000c00 64 20 28 73 75 70 70 6c 69 65 64 20 61 73 20 70 |d (supplied as p| 00000c10 61 72 74 20 6f 66 20 74 68 65 20 41 52 4d 45 64 |art of the ARMEd| 00000c20 69 74 20 73 75 69 74 65 29 20 2d 20 70 65 72 68 |it suite) - perh| 00000c30 61 70 73 20 69 74 0a 20 20 20 20 20 20 20 20 73 |aps it. s| 00000c40 68 6f 75 6c 64 20 62 65 20 70 6c 61 63 65 64 20 |hould be placed | 00000c50 69 6e 20 61 20 44 4f 53 20 62 61 74 63 68 20 66 |in a DOS batch f| 00000c60 69 6c 65 20 66 6f 72 20 65 61 73 69 65 72 20 75 |ile for easier u| 00000c70 73 65 2e 0a 0a 0a 20 20 20 20 2a 41 52 4d 45 64 |se.... *ARMEd| 00000c80 69 74 5f 44 4f 53 4d 61 70 0a 20 20 20 20 0a 20 |it_DOSMap. . | 00000c90 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 6d 6d | This comm| 00000ca0 61 6e 64 20 75 70 64 61 74 65 73 20 74 68 65 20 |and updates the | 00000cb0 63 61 63 68 65 64 20 6c 69 73 74 20 6f 66 20 6d |cached list of m| 00000cc0 61 70 70 69 6e 67 73 20 62 65 74 77 65 65 6e 20 |appings between | 00000cd0 44 4f 53 0a 20 20 20 20 20 20 20 20 65 78 74 65 |DOS. exte| 00000ce0 6e 73 69 6f 6e 73 20 61 6e 64 20 52 49 53 43 20 |nsions and RISC | 00000cf0 4f 53 20 66 69 6c 65 74 79 70 65 73 2e 20 54 68 |OS filetypes. Th| 00000d00 65 73 65 20 64 65 74 61 69 6c 73 20 61 72 65 20 |ese details are | 00000d10 72 65 61 64 20 69 6e 69 74 69 61 6c 6c 79 0a 20 |read initially. | 00000d20 20 20 20 20 20 20 20 66 72 6f 6d 20 44 4f 53 46 | from DOSF| 00000d30 53 2c 20 62 75 74 20 6d 61 79 20 62 65 20 72 65 |S, but may be re| 00000d40 2d 72 65 61 64 20 61 74 20 61 6e 79 20 74 69 6d |-read at any tim| 00000d50 65 20 75 73 69 6e 67 20 74 68 69 73 20 63 6f 6d |e using this com| 00000d60 6d 61 6e 64 2e 0a 20 20 20 20 20 20 20 20 0a 0a |mand.. ..| 00000d70 20 20 20 20 2a 41 52 4d 45 64 69 74 5f 46 69 6c | *ARMEdit_Fil| 00000d80 65 73 0a 0a 20 20 20 20 20 20 20 20 54 68 69 73 |es.. This| 00000d90 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 | command display| 00000da0 73 20 64 65 74 61 69 6c 73 20 6f 66 20 74 68 65 |s details of the| 00000db0 20 52 49 53 43 20 4f 53 20 66 69 6c 65 73 20 63 | RISC OS files c| 00000dc0 75 72 72 65 6e 74 6c 79 20 6f 70 65 6e 20 66 6f |urrently open fo| 00000dd0 72 0a 20 20 20 20 20 20 20 20 50 43 20 73 6f 66 |r. PC sof| 00000de0 74 77 61 72 65 2e 20 46 6f 72 20 65 61 63 68 20 |tware. For each | 00000df0 6f 70 65 6e 20 66 69 6c 65 20 74 68 65 20 66 69 |open file the fi| 00000e00 6c 65 20 68 61 6e 64 6c 65 20 61 6e 64 20 66 69 |le handle and fi| 00000e10 6c 65 6e 61 6d 65 20 69 73 0a 20 20 20 20 20 20 |lename is. | 00000e20 20 20 64 69 73 70 6c 61 79 65 64 2e 20 54 68 65 | displayed. The| 00000e30 72 65 20 69 73 20 61 6c 73 6f 20 61 20 66 69 65 |re is also a fie| 00000e40 6c 64 20 74 68 61 74 20 69 6e 64 69 63 61 74 65 |ld that indicate| 00000e50 73 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 |s whether the fi| 00000e60 6c 65 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 |le will. | 00000e70 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 65 |automatically be| 00000e80 20 64 65 6c 65 74 65 64 20 77 68 65 6e 20 69 74 | deleted when it| 00000e90 20 69 73 20 63 6c 6f 73 65 64 20 28 65 69 74 68 | is closed (eith| 00000ea0 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 62 79 |er explicitly by| 00000eb0 20 74 68 65 0a 20 20 20 20 20 20 20 20 50 43 20 | the. PC | 00000ec0 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 77 68 65 |software, or whe| 00000ed0 6e 20 74 68 65 20 50 43 20 69 73 20 72 65 73 65 |n the PC is rese| 00000ee0 74 20 6f 72 20 71 75 69 74 29 2e 0a 20 20 20 20 |t or quit).. | 00000ef0 20 20 20 20 0a 20 20 20 20 20 20 20 20 41 6e 79 | . Any| 00000f00 20 66 69 6c 65 73 20 6f 70 65 6e 65 64 20 66 6f | files opened fo| 00000f10 72 20 74 68 65 20 64 65 76 69 63 65 20 64 72 69 |r the device dri| 00000f20 76 65 72 20 61 72 65 20 61 6c 73 6f 20 6c 69 73 |ver are also lis| 00000f30 74 65 64 2e 0a 20 20 20 20 20 20 20 20 0a 0a 20 |ted.. .. | 00000f40 20 20 20 2a 41 52 4d 45 64 69 74 5f 4d 65 6d 6f | *ARMEdit_Memo| 00000f50 72 79 0a 0a 20 20 20 20 20 20 20 20 54 68 69 73 |ry.. This| 00000f60 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 | command display| 00000f70 73 20 64 65 74 61 69 6c 73 20 6f 66 20 74 68 65 |s details of the| 00000f80 20 52 49 53 43 20 4f 53 20 6d 65 6d 6f 72 79 20 | RISC OS memory | 00000f90 63 75 72 72 65 6e 74 6c 79 20 62 65 69 6e 67 0a |currently being.| 00000fa0 20 20 20 20 20 20 20 20 75 73 65 64 20 62 79 20 | used by | 00000fb0 50 43 20 73 6f 66 74 77 61 72 65 2e 20 46 6f 72 |PC software. For| 00000fc0 20 65 61 63 68 20 62 6c 6f 63 6b 20 6f 66 20 6d | each block of m| 00000fd0 65 6d 6f 72 79 20 63 6c 61 69 6d 65 64 20 74 68 |emory claimed th| 00000fe0 65 20 62 61 73 65 0a 20 20 20 20 20 20 20 20 61 |e base. a| 00000ff0 64 64 72 65 73 73 20 61 6e 64 20 73 69 7a 65 20 |ddress and size | 00001000 6f 66 20 74 68 65 20 62 6c 6f 63 6b 20 69 73 20 |of the block is | 00001010 64 69 73 70 6c 61 79 65 64 2e 0a 20 20 20 20 20 |displayed.. | 00001020 20 20 20 0a 20 20 20 20 20 20 20 20 54 68 65 20 | . The | 00001030 6d 65 6d 6f 72 79 20 69 73 20 63 75 72 72 65 6e |memory is curren| 00001040 74 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 66 72 |tly allocated fr| 00001050 6f 6d 20 74 68 65 20 52 4d 41 2c 20 62 75 74 20 |om the RMA, but | 00001060 61 20 68 65 61 64 65 72 20 69 73 0a 20 20 20 20 |a header is. | 00001070 20 20 20 20 61 74 74 61 63 68 65 64 20 74 6f 20 | attached to | 00001080 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 |the start of eac| 00001090 68 20 62 6c 6f 63 6b 2e 20 48 65 6e 63 65 20 74 |h block. Hence t| 000010a0 68 65 20 61 64 64 72 65 73 73 20 64 69 73 70 6c |he address displ| 000010b0 61 79 65 64 20 69 73 0a 20 20 20 20 20 20 20 20 |ayed is. | 000010c0 6e 6f 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 |not the start of| 000010d0 20 61 20 68 65 61 70 20 62 6c 6f 63 6b 2e 20 54 | a heap block. T| 000010e0 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 |he information i| 000010f0 6e 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 |n the header is | 00001100 75 73 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 |used. to | 00001110 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 |automatically re| 00001120 6c 65 61 73 65 20 74 68 65 20 6d 65 6d 6f 72 79 |lease the memory| 00001130 20 77 68 65 6e 20 74 68 65 20 50 43 20 69 73 20 | when the PC is | 00001140 72 65 73 65 74 20 6f 72 20 71 75 69 74 20 69 66 |reset or quit if| 00001150 0a 20 20 20 20 20 20 20 20 74 68 65 20 50 43 20 |. the PC | 00001160 73 6f 66 74 77 61 72 65 20 66 61 69 6c 73 20 74 |software fails t| 00001170 6f 20 64 6f 20 73 6f 2e 0a 0a 0a 20 20 20 20 2a |o do so.... *| 00001180 41 52 4d 45 64 69 74 5f 50 6f 6c 6c 69 6e 67 20 |ARMEdit_Polling | 00001190 5b 5b 2d 66 6f 72 65 5d 20 3c 70 6f 6c 6c 73 3e |[[-fore] <polls>| 000011a0 5d 20 5b 5b 2d 62 61 63 6b 5d 20 3c 70 6f 6c 6c |] [[-back] <poll| 000011b0 73 3e 5d 0a 0a 20 20 20 20 20 20 20 20 54 68 69 |s>].. Thi| 000011c0 73 20 63 6f 6d 6d 61 6e 64 20 61 6c 6c 6f 77 73 |s command allows| 000011d0 20 74 68 65 20 6d 75 6c 74 69 74 61 73 6b 69 6e | the multitaskin| 000011e0 67 20 73 70 65 65 64 20 6f 66 20 74 68 65 20 50 |g speed of the P| 000011f0 43 20 63 61 72 64 20 74 6f 20 62 65 0a 20 20 20 |C card to be. | 00001200 20 20 20 20 20 63 6f 6e 74 72 6f 6c 6c 65 64 2e | controlled.| 00001210 20 4c 61 72 67 65 72 20 76 61 6c 75 65 73 20 69 | Larger values i| 00001220 6e 63 72 65 61 73 65 20 74 68 65 20 70 65 72 66 |ncrease the perf| 00001230 6f 72 6d 61 6e 63 65 20 6f 66 20 74 68 65 20 50 |ormance of the P| 00001240 43 20 63 61 72 64 0a 20 20 20 20 20 20 20 20 61 |C card. a| 00001250 74 20 74 68 65 20 65 78 70 65 6e 73 65 20 6f 66 |t the expense of| 00001260 20 73 6c 6f 77 69 6e 67 20 64 6f 77 6e 20 74 68 | slowing down th| 00001270 65 20 64 65 73 6b 74 6f 70 2e 20 41 20 76 61 6c |e desktop. A val| 00001280 75 65 20 6f 66 20 30 20 72 65 73 75 6c 74 73 0a |ue of 0 results.| 00001290 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 6e | in the n| 000012a0 6f 72 6d 61 6c 20 62 65 68 61 76 69 6f 75 72 2e |ormal behaviour.| 000012b0 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 |. . | 000012c0 20 20 55 73 65 20 77 69 74 68 20 6e 6f 20 70 61 | Use with no pa| 000012d0 72 61 6d 65 74 65 72 73 20 74 6f 20 64 69 73 70 |rameters to disp| 000012e0 6c 61 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 |lay the current | 000012f0 73 65 74 74 69 6e 67 73 2e 20 49 66 20 6f 6e 6c |settings. If onl| 00001300 79 0a 20 20 20 20 20 20 20 20 61 20 73 69 6e 67 |y. a sing| 00001310 6c 65 20 76 61 6c 75 65 20 69 73 20 73 70 65 63 |le value is spec| 00001320 69 66 69 65 64 20 28 77 69 74 68 6f 75 74 20 73 |ified (without s| 00001330 77 69 74 63 68 65 73 29 20 74 68 65 6e 20 62 6f |witches) then bo| 00001340 74 68 20 73 65 74 74 69 6e 67 73 0a 20 20 20 20 |th settings. | 00001350 20 20 20 20 61 72 65 20 75 70 64 61 74 65 64 2e | are updated.| 00001360 0a 20 20 20 20 20 20 20 20 0a 0a 20 20 20 20 2a |. .. *| 00001370 41 52 4d 45 64 69 74 5f 56 65 72 73 69 6f 6e 0a |ARMEdit_Version.| 00001380 20 20 20 20 0a 20 20 20 20 20 20 20 20 54 68 69 | . Thi| 00001390 73 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 |s command displa| 000013a0 79 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6e |ys the version n| 000013b0 75 6d 62 65 72 73 20 6f 66 20 74 68 65 20 64 61 |umbers of the da| 000013c0 74 61 20 73 74 72 75 63 74 75 72 65 73 20 75 73 |ta structures us| 000013d0 65 64 0a 20 20 20 20 20 20 20 20 62 79 20 74 68 |ed. by th| 000013e0 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 |e most recently | 000013f0 75 73 65 64 20 50 43 20 66 72 6f 6e 74 2d 65 6e |used PC front-en| 00001400 64 2e 20 49 74 20 61 6c 73 6f 20 64 69 73 70 6c |d. It also displ| 00001410 61 79 73 20 74 68 65 20 72 61 6e 67 65 20 6f 66 |ays the range of| 00001420 0a 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e |. version| 00001430 73 20 63 61 74 65 72 65 64 20 66 6f 72 20 62 79 |s catered for by| 00001440 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 | this version of| 00001450 20 74 68 65 20 6d 6f 64 75 6c 65 2e 0a 0a 0a 53 | the module....S| 00001460 57 49 73 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 |WIs..The followi| 00001470 6e 67 20 53 57 49 73 20 61 72 65 20 70 72 6f 76 |ng SWIs are prov| 00001480 69 64 65 64 20 62 79 20 74 68 65 20 41 52 4d 45 |ided by the ARME| 00001490 64 69 74 20 6d 6f 64 75 6c 65 2e 20 46 6f 72 20 |dit module. For | 000014a0 6d 6f 72 65 20 64 65 74 61 69 6c 73 0a 72 65 67 |more details.reg| 000014b0 61 72 64 69 6e 67 20 74 68 65 20 75 73 65 20 6f |arding the use o| 000014c0 66 20 74 68 65 20 63 6f 6d 6d 75 6e 63 69 61 74 |f the communciat| 000014d0 69 6f 6e 73 20 53 57 49 73 20 73 65 65 20 74 68 |ions SWIs see th| 000014e0 65 20 43 6f 64 65 20 64 6f 63 75 6d 65 6e 74 61 |e Code documenta| 000014f0 74 69 6f 6e 2e 0a 0a 0a 53 57 49 20 22 41 52 4d |tion....SWI "ARM| 00001500 45 64 69 74 5f 43 6f 6e 74 72 6f 6c 50 43 22 20 |Edit_ControlPC" | 00001510 28 26 34 42 43 34 30 29 0a 0a 20 20 20 20 43 6f |(&4BC40).. Co| 00001520 6e 74 72 6f 6c 20 74 68 65 20 50 43 20 66 72 6f |ntrol the PC fro| 00001530 6e 74 2d 65 6e 64 2e 0a 20 20 20 20 0a 20 20 20 |nt-end.. . | 00001540 20 4f 6e 20 65 6e 74 72 79 3a 0a 20 20 20 20 0a | On entry:. .| 00001550 20 20 20 20 20 20 20 20 52 30 20 3d 20 4f 70 65 | R0 = Ope| 00001560 72 61 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 |ration to perfor| 00001570 6d 3a 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 |m:. . | 00001580 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 | 0 | 00001590 53 75 73 70 65 6e 64 20 66 75 6c 6c 20 73 63 72 |Suspend full scr| 000015a0 65 65 6e 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 |een mode. | 000015b0 20 20 20 20 20 20 20 20 20 31 20 20 20 46 72 65 | 1 Fre| 000015c0 65 7a 65 20 72 75 6e 6e 69 6e 67 20 69 6e 20 61 |eze running in a| 000015d0 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 | window. | 000015e0 20 20 20 20 20 20 20 20 32 20 20 20 52 65 73 65 | 2 Rese| 000015f0 74 20 74 68 65 20 50 43 0a 20 20 20 20 20 20 20 |t the PC. | 00001600 20 20 20 20 20 20 20 20 20 33 20 20 20 51 75 69 | 3 Qui| 00001610 74 20 74 68 65 20 66 72 6f 6e 74 2d 65 6e 64 0a |t the front-end.| 00001620 0a 20 20 20 20 4f 6e 20 65 78 69 74 3a 0a 20 20 |. On exit:. | 00001630 20 20 0a 20 20 20 20 20 20 20 20 41 6c 6c 20 72 | . All r| 00001640 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 |egisters preserv| 00001650 65 64 2e 0a 20 20 20 20 0a 20 20 20 20 49 6e 74 |ed.. . Int| 00001660 65 72 72 75 70 74 73 3a 0a 20 20 20 20 0a 20 20 |errupts:. . | 00001670 20 20 20 20 20 20 49 6e 74 65 72 72 75 70 74 20 | Interrupt | 00001680 73 74 61 74 75 73 20 69 73 20 75 6e 64 65 66 69 |status is undefi| 00001690 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 46 61 73 |ned.. Fas| 000016a0 74 20 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 |t interrupts are| 000016b0 20 65 6e 61 62 6c 65 64 2e 0a 0a 20 20 20 20 50 | enabled... P| 000016c0 72 6f 63 65 73 73 6f 72 20 6d 6f 64 65 3a 0a 20 |rocessor mode:. | 000016d0 20 20 20 0a 20 20 20 20 20 20 20 20 50 72 6f 63 | . Proc| 000016e0 65 73 73 6f 72 20 69 73 20 69 6e 20 53 56 43 20 |essor is in SVC | 000016f0 6d 6f 64 65 2e 0a 0a 20 20 20 20 52 65 2d 65 6e |mode... Re-en| 00001700 74 72 61 6e 63 79 3a 0a 20 20 20 20 0a 20 20 20 |trancy:. . | 00001710 20 20 20 20 20 53 57 49 20 69 73 20 6e 6f 74 20 | SWI is not | 00001720 72 65 2d 65 6e 74 72 61 6e 74 2e 0a 0a 20 20 20 |re-entrant... | 00001730 20 55 73 65 3a 0a 20 20 20 20 0a 20 20 20 20 20 | Use:. . | 00001740 20 20 20 54 68 69 73 20 63 61 6c 6c 20 61 6c 6c | This call all| 00001750 6f 77 73 20 74 68 65 20 50 43 20 66 72 6f 6e 74 |ows the PC front| 00001760 2d 65 6e 64 20 74 6f 20 62 65 20 63 6f 6e 74 72 |-end to be contr| 00001770 6f 6c 6c 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 |olled. Note that| 00001780 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 | if the. | 00001790 50 43 20 66 72 6f 6e 74 2d 65 6e 64 20 69 73 20 |PC front-end is | 000017a0 6e 6f 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 |not the current | 000017b0 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 68 65 6e |application then| 000017c0 20 74 68 69 73 20 77 69 6c 6c 20 6f 6e 6c 79 20 | this will only | 000017d0 74 61 6b 65 0a 20 20 20 20 20 20 20 20 65 66 66 |take. eff| 000017e0 65 63 74 20 74 68 65 20 6e 65 78 74 20 74 69 6d |ect the next tim| 000017f0 65 20 74 68 65 20 66 72 6f 6e 74 2d 65 6e 64 20 |e the front-end | 00001800 69 73 20 70 61 67 65 64 20 69 6e 2e 0a 20 20 20 |is paged in.. | 00001810 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 4e 6f | . No| 00001820 74 65 20 74 68 61 74 20 73 75 73 70 65 6e 64 69 |te that suspendi| 00001830 6e 67 20 66 75 6c 6c 20 73 63 72 65 65 6e 20 6d |ng full screen m| 00001840 6f 64 65 20 6f 6e 6c 79 20 73 74 61 72 74 73 20 |ode only starts | 00001850 65 78 65 63 75 74 69 6f 6e 20 69 6e 20 61 0a 20 |execution in a. | 00001860 20 20 20 20 20 20 20 77 69 6e 64 6f 77 20 69 66 | window if| 00001870 20 65 6e 61 62 6c 65 64 20 62 79 20 74 68 65 20 | enabled by the | 00001880 63 75 72 72 65 6e 74 20 63 6f 6e 66 69 67 75 72 |current configur| 00001890 61 74 69 6f 6e 2e 0a 0a 0a 53 57 49 20 22 41 52 |ation....SWI "AR| 000018a0 4d 45 64 69 74 5f 54 61 6c 6b 53 74 61 72 74 22 |MEdit_TalkStart"| 000018b0 20 28 26 34 42 43 34 31 29 0a 0a 20 20 20 20 52 | (&4BC41).. R| 000018c0 65 67 69 73 74 65 72 20 61 20 6e 65 77 20 63 6c |egister a new cl| 000018d0 69 65 6e 74 20 74 61 73 6b 2e 0a 20 20 20 20 0a |ient task.. .| 000018e0 20 20 20 20 4f 6e 20 65 6e 74 72 79 3a 0a 20 20 | On entry:. | 000018f0 20 20 0a 20 20 20 20 20 20 20 20 52 30 20 3d 20 | . R0 = | 00001900 50 72 65 2d 61 6c 6c 6f 63 61 74 65 64 20 49 44 |Pre-allocated ID| 00001910 20 66 6f 72 20 74 68 69 73 20 74 61 73 6b 2e 0a | for this task..| 00001920 20 20 20 20 20 20 20 20 52 31 20 3d 20 46 6c 61 | R1 = Fla| 00001930 67 73 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 0a |gs (see below)..| 00001940 20 20 20 20 20 20 20 20 52 32 20 3d 20 50 6f 69 | R2 = Poi| 00001950 6e 74 65 72 20 74 6f 20 61 20 66 75 6e 63 74 69 |nter to a functi| 00001960 6f 6e 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 |on to be called | 00001970 77 68 65 6e 20 61 20 6d 65 73 73 61 67 65 20 69 |when a message i| 00001980 73 20 61 76 61 69 6c 61 62 6c 65 2c 0a 20 20 20 |s available,. | 00001990 20 20 20 20 20 20 20 20 20 20 6f 72 20 30 20 66 | or 0 f| 000019a0 6f 72 20 6e 6f 6e 65 2e 0a 20 20 20 20 20 20 20 |or none.. | 000019b0 20 52 33 20 3d 20 56 61 6c 75 65 20 66 6f 72 20 | R3 = Value for | 000019c0 52 31 32 20 74 6f 20 63 6f 6e 74 61 69 6e 20 77 |R12 to contain w| 000019d0 68 65 6e 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 |hen function poi| 000019e0 6e 74 65 64 20 74 6f 20 62 79 20 52 32 20 69 73 |nted to by R2 is| 000019f0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 |. ca| 00001a00 6c 6c 65 64 2e 0a 0a 20 20 20 20 4f 6e 20 65 78 |lled... On ex| 00001a10 69 74 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 |it:. . | 00001a20 20 52 30 20 3d 20 41 20 75 6e 69 71 75 65 20 63 | R0 = A unique c| 00001a30 6c 69 65 6e 74 20 68 61 6e 64 6c 65 2e 0a 20 20 |lient handle.. | 00001a40 20 20 20 20 20 20 52 31 20 3d 20 50 6f 69 6e 74 | R1 = Point| 00001a50 65 72 20 74 6f 20 61 20 70 6f 6c 6c 20 77 6f 72 |er to a poll wor| 00001a60 64 20 66 6f 72 20 74 68 69 73 20 74 61 73 6b 2e |d for this task.| 00001a70 0a 20 20 20 20 0a 20 20 20 20 49 6e 74 65 72 72 |. . Interr| 00001a80 75 70 74 73 3a 0a 20 20 20 20 0a 20 20 20 20 20 |upts:. . | 00001a90 20 20 20 49 6e 74 65 72 72 75 70 74 20 73 74 61 | Interrupt sta| 00001aa0 74 75 73 20 69 73 20 75 6e 64 65 66 69 6e 65 64 |tus is undefined| 00001ab0 2e 0a 20 20 20 20 20 20 20 20 46 61 73 74 20 69 |.. Fast i| 00001ac0 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 65 6e |nterrupts are en| 00001ad0 61 62 6c 65 64 2e 0a 0a 20 20 20 20 50 72 6f 63 |abled... Proc| 00001ae0 65 73 73 6f 72 20 6d 6f 64 65 3a 0a 20 20 20 20 |essor mode:. | 00001af0 0a 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 |. Process| 00001b00 6f 72 20 69 73 20 69 6e 20 53 56 43 20 6d 6f 64 |or is in SVC mod| 00001b10 65 2e 0a 0a 20 20 20 20 52 65 2d 65 6e 74 72 61 |e... Re-entra| 00001b20 6e 63 79 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 |ncy:. . | 00001b30 20 20 53 57 49 20 69 73 20 6e 6f 74 20 72 65 2d | SWI is not re-| 00001b40 65 6e 74 72 61 6e 74 2e 0a 0a 20 20 20 20 55 73 |entrant... Us| 00001b50 65 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 |e:. . | 00001b60 41 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 |An application t| 00001b70 68 61 74 20 70 72 6f 76 69 64 65 73 20 73 65 72 |hat provides ser| 00001b80 76 69 63 65 73 20 74 6f 20 50 43 20 73 6f 66 74 |vices to PC soft| 00001b90 77 61 72 65 20 73 68 6f 75 6c 64 20 63 61 6c 6c |ware should call| 00001ba0 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 77 68 | this. wh| 00001bb0 65 6e 20 69 74 20 69 73 20 73 74 61 72 74 69 6e |en it is startin| 00001bc0 67 2e 20 41 20 6d 65 73 73 61 67 65 20 62 75 66 |g. A message buf| 00001bd0 66 65 72 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 |fer is allocated| 00001be0 20 61 6e 64 20 61 20 75 6e 69 71 75 65 0a 20 20 | and a unique. | 00001bf0 20 20 20 20 20 20 68 61 6e 64 6c 65 20 66 6f 72 | handle for| 00001c00 20 74 68 69 73 20 74 61 73 6b 20 61 73 73 69 67 | this task assig| 00001c10 6e 65 64 2e 20 54 68 69 73 20 68 61 6e 64 6c 65 |ned. This handle| 00001c20 20 73 68 6f 75 6c 64 20 62 65 20 73 74 6f 72 65 | should be store| 00001c30 64 20 61 6e 64 20 75 73 65 64 0a 20 20 20 20 20 |d and used. | 00001c40 20 20 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 20 | in all other | 00001c50 63 61 6c 6c 73 20 72 65 6c 61 74 69 6e 67 20 74 |calls relating t| 00001c60 6f 20 74 68 69 73 20 74 61 73 6b 2e 0a 20 20 20 |o this task.. | 00001c70 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 54 68 | . Th| 00001c80 65 20 63 75 72 72 65 6e 74 6c 79 20 64 65 66 69 |e currently defi| 00001c90 6e 65 64 20 66 6c 61 67 20 62 69 74 73 20 61 72 |ned flag bits ar| 00001ca0 65 3a 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 |e:. . | 00001cb0 20 20 20 20 20 20 20 20 42 69 74 20 20 20 20 20 | Bit | 00001cc0 4d 65 61 6e 69 6e 67 20 69 66 20 73 65 74 0a 20 |Meaning if set. | 00001cd0 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 | . | 00001ce0 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 | 0 | 00001cf0 4d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 74 68 |Messages from th| 00001d00 65 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c 65 |e ARMEdit module| 00001d10 20 61 72 65 20 72 65 71 75 69 72 65 64 2e 0a 20 | are required.. | 00001d20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 | . | 00001d30 41 6c 6c 20 6f 74 68 65 72 20 62 69 74 73 20 73 |All other bits s| 00001d40 68 6f 75 6c 64 20 62 65 20 73 65 74 20 74 6f 20 |hould be set to | 00001d50 30 20 74 6f 20 61 6c 6c 6f 77 20 66 6f 72 20 66 |0 to allow for f| 00001d60 75 74 75 72 65 20 65 78 70 61 6e 73 69 6f 6e 2e |uture expansion.| 00001d70 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 |. . | 00001d80 20 20 54 68 65 20 70 6f 6c 6c 20 77 6f 72 64 20 | The poll word | 00001d90 69 73 20 69 6e 69 74 69 61 6c 6c 79 20 73 65 74 |is initially set| 00001da0 20 74 6f 20 7a 65 72 6f 2e 20 57 68 65 6e 20 74 | to zero. When t| 00001db0 68 65 72 65 20 69 73 20 70 6f 74 65 6e 74 69 61 |here is potentia| 00001dc0 6c 6c 79 20 61 0a 20 20 20 20 20 20 20 20 6d 65 |lly a. me| 00001dd0 73 73 61 67 65 20 77 61 69 74 69 6e 67 20 66 6f |ssage waiting fo| 00001de0 72 20 74 68 69 73 20 74 61 73 6b 20 74 68 65 20 |r this task the | 00001df0 70 6f 6c 6c 20 77 6f 72 64 20 69 73 20 73 65 74 |poll word is set| 00001e00 20 74 6f 20 61 20 6e 6f 6e 2d 7a 65 72 6f 0a 20 | to a non-zero. | 00001e10 20 20 20 20 20 20 20 76 61 6c 75 65 2e 20 54 68 | value. Th| 00001e20 65 20 70 6f 6c 6c 20 77 6f 72 64 20 69 73 20 63 |e poll word is c| 00001e30 6c 65 61 72 65 64 20 77 68 65 6e 20 65 69 74 68 |leared when eith| 00001e40 65 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 68 |er the message h| 00001e50 61 73 20 62 65 65 6e 0a 20 20 20 20 20 20 20 20 |as been. | 00001e60 72 65 61 64 2c 20 6f 72 20 6e 6f 20 6d 65 73 73 |read, or no mess| 00001e70 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 |age is available| 00001e80 20 66 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 20 | for some other | 00001e90 72 65 61 73 6f 6e 2e 20 4e 6f 74 65 20 74 68 61 |reason. Note tha| 00001ea0 74 20 61 0a 20 20 20 20 20 20 20 20 6e 6f 6e 2d |t a. non-| 00001eb0 7a 65 72 6f 20 70 6f 6c 6c 20 77 6f 72 64 20 64 |zero poll word d| 00001ec0 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 79 20 74 68 |oes not imply th| 00001ed0 61 74 20 61 20 6d 65 73 73 61 67 65 20 77 69 6c |at a message wil| 00001ee0 6c 20 62 65 20 61 76 61 69 6c 61 62 6c 65 3b 0a |l be available;.| 00001ef0 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 20 | another | 00001f00 74 61 73 6b 20 6d 69 67 68 74 20 68 61 76 65 20 |task might have | 00001f10 72 65 61 64 20 74 68 65 20 6d 65 73 73 61 67 65 |read the message| 00001f20 20 69 66 20 69 74 20 77 61 73 20 6e 6f 74 20 64 | if it was not d| 00001f30 69 72 65 63 74 65 64 20 74 6f 0a 20 20 20 20 20 |irected to. | 00001f40 20 20 20 61 20 73 70 65 63 69 66 69 63 20 68 61 | a specific ha| 00001f50 6e 64 6c 65 2e 20 54 68 65 20 70 6f 6c 6c 20 77 |ndle. The poll w| 00001f60 6f 72 64 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 |ord must not be | 00001f70 77 72 69 74 74 65 6e 20 74 6f 3b 20 69 74 20 6d |written to; it m| 00001f80 75 73 74 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 |ust only. | 00001f90 20 62 65 20 6d 6f 64 69 66 69 65 64 20 62 79 20 | be modified by | 00001fa0 74 68 65 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 |the ARMEdit modu| 00001fb0 6c 65 2e 0a 0a 0a 53 57 49 20 22 41 52 4d 45 64 |le....SWI "ARMEd| 00001fc0 69 74 5f 54 61 6c 6b 45 6e 64 22 20 28 26 34 42 |it_TalkEnd" (&4B| 00001fd0 43 34 32 29 0a 0a 20 20 20 20 44 65 72 65 67 69 |C42).. Deregi| 00001fe0 73 74 65 72 20 61 20 63 6c 69 65 6e 74 20 74 61 |ster a client ta| 00001ff0 73 6b 2e 0a 20 20 20 20 0a 20 20 20 20 4f 6e 20 |sk.. . On | 00002000 65 6e 74 72 79 3a 0a 20 20 20 20 0a 20 20 20 20 |entry:. . | 00002010 20 20 20 20 52 30 20 3d 20 54 68 65 20 70 72 65 | R0 = The pre| 00002020 76 69 6f 75 73 6c 79 20 61 73 73 69 67 6e 65 64 |viously assigned| 00002030 20 68 61 6e 64 6c 65 20 66 6f 72 20 74 68 69 73 | handle for this| 00002040 20 63 6c 69 65 6e 74 20 74 61 73 6b 2e 0a 0a 20 | client task... | 00002050 20 20 20 4f 6e 20 65 78 69 74 3a 0a 20 20 20 20 | On exit:. | 00002060 0a 20 20 20 20 20 20 20 20 41 6c 6c 20 72 65 67 |. All reg| 00002070 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 |isters preserved| 00002080 2e 0a 20 20 20 20 0a 20 20 20 20 49 6e 74 65 72 |.. . Inter| 00002090 72 75 70 74 73 3a 0a 20 20 20 20 0a 20 20 20 20 |rupts:. . | 000020a0 20 20 20 20 49 6e 74 65 72 72 75 70 74 20 73 74 | Interrupt st| 000020b0 61 74 75 73 20 69 73 20 75 6e 64 65 66 69 6e 65 |atus is undefine| 000020c0 64 2e 0a 20 20 20 20 20 20 20 20 46 61 73 74 20 |d.. Fast | 000020d0 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 65 |interrupts are e| 000020e0 6e 61 62 6c 65 64 2e 0a 0a 20 20 20 20 50 72 6f |nabled... Pro| 000020f0 63 65 73 73 6f 72 20 6d 6f 64 65 3a 0a 20 20 20 |cessor mode:. | 00002100 20 0a 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 | . Proces| 00002110 73 6f 72 20 69 73 20 69 6e 20 53 56 43 20 6d 6f |sor is in SVC mo| 00002120 64 65 2e 0a 0a 20 20 20 20 52 65 2d 65 6e 74 72 |de... Re-entr| 00002130 61 6e 63 79 3a 0a 20 20 20 20 0a 20 20 20 20 20 |ancy:. . | 00002140 20 20 20 53 57 49 20 69 73 20 6e 6f 74 20 72 65 | SWI is not re| 00002150 2d 65 6e 74 72 61 6e 74 2e 0a 0a 20 20 20 20 55 |-entrant... U| 00002160 73 65 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 |se:. . | 00002170 20 41 6c 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e | All application| 00002180 73 20 74 68 61 74 20 63 61 6c 6c 20 41 52 4d 45 |s that call ARME| 00002190 64 69 74 5f 54 61 6c 6b 53 74 61 72 74 20 6d 75 |dit_TalkStart mu| 000021a0 73 74 20 63 61 6c 6c 20 74 68 69 73 20 62 65 66 |st call this bef| 000021b0 6f 72 65 0a 20 20 20 20 20 20 20 20 74 68 65 79 |ore. they| 000021c0 20 74 65 72 6d 69 6e 61 74 65 2e 20 54 68 69 73 | terminate. This| 000021d0 20 72 65 6c 65 61 73 65 73 20 74 68 65 20 6d 65 | releases the me| 000021e0 73 73 61 67 65 20 62 75 66 66 65 72 20 61 6e 64 |ssage buffer and| 000021f0 20 61 6c 6c 6f 77 73 20 6f 74 68 65 72 0a 20 20 | allows other. | 00002200 20 20 20 20 20 20 74 61 73 6b 73 20 74 6f 20 64 | tasks to d| 00002210 65 74 65 63 74 20 77 68 65 74 68 65 72 20 70 61 |etect whether pa| 00002220 72 74 69 63 75 6c 61 72 20 73 65 72 76 69 63 65 |rticular service| 00002230 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 2e |s are available.| 00002240 0a 0a 0a 53 57 49 20 22 41 52 4d 45 64 69 74 5f |...SWI "ARMEdit_| 00002250 54 61 6c 6b 54 58 22 20 28 26 34 42 43 34 33 29 |TalkTX" (&4BC43)| 00002260 0a 0a 20 20 20 20 53 65 6e 64 20 61 20 6d 65 73 |.. Send a mes| 00002270 73 61 67 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 |sage to another | 00002280 63 6c 69 65 6e 74 20 74 61 73 6b 2e 0a 20 20 20 |client task.. | 00002290 20 0a 20 20 20 20 4f 6e 20 65 6e 74 72 79 3a 0a | . On entry:.| 000022a0 20 20 20 20 0a 20 20 20 20 20 20 20 20 52 30 20 | . R0 | 000022b0 3d 20 43 6c 69 65 6e 74 20 68 61 6e 64 6c 65 20 |= Client handle | 000022c0 66 6f 72 20 74 68 69 73 20 74 61 73 6b 2e 0a 20 |for this task.. | 000022d0 20 20 20 20 20 20 20 52 31 20 3d 20 45 69 74 68 | R1 = Eith| 000022e0 65 72 20 74 68 65 20 49 44 20 6f 72 20 63 6c 69 |er the ID or cli| 000022f0 65 6e 74 20 68 61 6e 64 6c 65 20 66 6f 72 20 74 |ent handle for t| 00002300 68 65 20 72 65 63 69 70 69 65 6e 74 20 28 69 66 |he recipient (if| 00002310 20 52 32 20 6e 6f 74 20 30 29 2e 0a 20 20 20 20 | R2 not 0).. | 00002320 20 20 20 20 52 32 20 3d 20 50 6f 69 6e 74 65 72 | R2 = Pointer| 00002330 20 74 6f 20 62 6c 6f 63 6b 20 63 6f 6e 74 61 69 | to block contai| 00002340 6e 69 6e 67 20 74 68 65 20 6d 65 73 73 61 67 65 |ning the message| 00002350 20 74 6f 20 73 65 6e 64 2c 20 6f 72 20 30 20 74 | to send, or 0 t| 00002360 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 20 20 20 |o check. | 00002370 20 20 20 20 20 69 66 20 74 68 65 20 62 75 66 66 | if the buff| 00002380 65 72 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 61 |er already conta| 00002390 69 6e 73 20 61 20 6d 65 73 73 61 67 65 2e 0a 0a |ins a message...| 000023a0 20 20 20 20 4f 6e 20 65 78 69 74 3a 0a 20 20 20 | On exit:. | 000023b0 20 0a 20 20 20 20 20 20 20 20 52 32 20 3d 20 50 | . R2 = P| 000023c0 6f 69 6e 74 65 72 20 74 6f 20 6d 65 73 73 61 67 |ointer to messag| 000023d0 65 20 62 75 66 66 65 72 2c 20 6f 72 20 30 20 69 |e buffer, or 0 i| 000023e0 66 20 6e 6f 20 6d 65 73 73 61 67 65 20 69 73 20 |f no message is | 000023f0 77 61 69 74 69 6e 67 20 74 6f 20 62 65 0a 20 20 |waiting to be. | 00002400 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 69 76 | deliv| 00002410 65 72 65 64 2e 0a 20 20 20 20 0a 20 20 20 20 49 |ered.. . I| 00002420 6e 74 65 72 72 75 70 74 73 3a 0a 20 20 20 20 0a |nterrupts:. .| 00002430 20 20 20 20 20 20 20 20 49 6e 74 65 72 72 75 70 | Interrup| 00002440 74 20 73 74 61 74 75 73 20 69 73 20 75 6e 64 65 |t status is unde| 00002450 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 46 |fined.. F| 00002460 61 73 74 20 69 6e 74 65 72 72 75 70 74 73 20 61 |ast interrupts a| 00002470 72 65 20 65 6e 61 62 6c 65 64 2e 0a 0a 20 20 20 |re enabled... | 00002480 20 50 72 6f 63 65 73 73 6f 72 20 6d 6f 64 65 3a | Processor mode:| 00002490 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 50 72 |. . Pr| 000024a0 6f 63 65 73 73 6f 72 20 69 73 20 69 6e 20 53 56 |ocessor is in SV| 000024b0 43 20 6d 6f 64 65 2e 0a 0a 20 20 20 20 52 65 2d |C mode... Re-| 000024c0 65 6e 74 72 61 6e 63 79 3a 0a 20 20 20 20 0a 20 |entrancy:. . | 000024d0 20 20 20 20 20 20 20 53 57 49 20 69 73 20 6e 6f | SWI is no| 000024e0 74 20 72 65 2d 65 6e 74 72 61 6e 74 2e 0a 0a 20 |t re-entrant... | 000024f0 20 20 20 55 73 65 3a 0a 20 20 20 20 0a 20 20 20 | Use:. . | 00002500 20 20 20 20 20 53 65 6e 64 20 61 20 6d 65 73 73 | Send a mess| 00002510 61 67 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 74 |age to another t| 00002520 61 73 6b 2e 20 54 68 65 20 64 65 73 74 69 6e 61 |ask. The destina| 00002530 74 69 6f 6e 20 74 61 73 6b 20 63 61 6e 20 62 65 |tion task can be| 00002540 20 73 70 65 63 69 66 69 65 64 0a 20 20 20 20 20 | specified. | 00002550 20 20 20 75 73 69 6e 67 20 65 69 74 68 65 72 20 | using either | 00002560 69 74 27 73 20 49 44 20 6f 72 20 63 6c 69 65 6e |it's ID or clien| 00002570 74 20 68 61 6e 64 6c 65 2e 20 49 66 20 74 68 65 |t handle. If the| 00002580 20 49 44 20 69 73 20 73 70 65 63 69 66 69 65 64 | ID is specified| 00002590 20 74 68 65 6e 20 69 74 0a 20 20 20 20 20 20 20 | then it. | 000025a0 20 77 69 6c 6c 20 62 65 20 6f 66 66 65 72 65 64 | will be offered| 000025b0 20 74 6f 20 65 61 63 68 20 6d 61 74 63 68 69 6e | to each matchin| 000025c0 67 20 74 61 73 6b 20 74 68 61 74 20 70 6f 6c 6c |g task that poll| 000025d0 73 20 69 74 20 75 6e 74 69 6c 20 69 74 20 69 73 |s it until it is| 000025e0 0a 20 20 20 20 20 20 20 20 61 63 6b 6e 6f 77 6c |. acknowl| 000025f0 65 64 67 65 64 2e 20 41 20 70 61 72 74 69 63 75 |edged. A particu| 00002600 6c 61 72 20 6d 65 73 73 61 67 65 20 69 73 20 6f |lar message is o| 00002610 6e 6c 79 20 6f 66 66 65 72 65 64 20 74 6f 20 65 |nly offered to e| 00002620 61 63 68 20 74 61 73 6b 20 6f 6e 63 65 2e 0a 20 |ach task once.. | 00002630 20 20 20 20 20 20 20 57 68 65 6e 20 73 65 6e 64 | When send| 00002640 69 6e 67 20 6d 65 73 73 61 67 65 73 20 74 6f 20 |ing messages to | 00002650 50 43 20 73 6f 66 74 77 61 72 65 20 28 49 44 20 |PC software (ID | 00002660 3d 20 30 29 20 74 68 65 20 68 61 6e 64 6c 65 20 |= 0) the handle | 00002670 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 61 |should. a| 00002680 6c 77 61 79 73 20 62 65 20 73 70 65 63 69 66 69 |lways be specifi| 00002690 65 64 2e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 |ed.. . | 000026a0 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 | Note that t| 000026b0 68 65 20 6d 65 73 73 61 67 65 20 62 75 66 66 65 |he message buffe| 000026c0 72 20 66 6f 72 20 65 61 63 68 20 74 61 73 6b 20 |r for each task | 000026d0 63 61 6e 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e |can only contain| 000026e0 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 20 | a single. | 000026f0 20 20 6d 65 73 73 61 67 65 20 74 6f 20 73 65 6e | message to sen| 00002700 64 3b 20 69 66 20 74 68 65 72 65 20 69 73 20 61 |d; if there is a| 00002710 6c 72 65 61 64 79 20 61 20 6d 65 73 73 61 67 65 |lready a message| 00002720 20 77 61 69 74 69 6e 67 20 74 6f 20 62 65 0a 20 | waiting to be. | 00002730 20 20 20 20 20 20 20 64 65 6c 69 76 65 72 65 64 | delivered| 00002740 20 74 68 65 6e 20 69 74 20 69 73 20 6f 76 65 72 | then it is over| 00002750 77 72 69 74 74 65 6e 2e 20 57 68 65 6e 20 6d 75 |written. When mu| 00002760 6c 74 69 70 6c 65 20 63 6c 69 65 6e 74 73 20 61 |ltiple clients a| 00002770 72 65 20 75 73 65 64 2c 0a 20 20 20 20 20 20 20 |re used,. | 00002780 20 74 68 69 73 20 53 57 49 20 73 68 6f 75 6c 64 | this SWI should| 00002790 20 66 69 72 73 74 20 62 65 20 63 61 6c 6c 65 64 | first be called| 000027a0 20 77 69 74 68 20 52 32 20 3d 20 30 20 74 6f 20 | with R2 = 0 to | 000027b0 63 68 65 63 6b 20 69 66 20 61 20 6d 65 73 73 61 |check if a messa| 000027c0 67 65 0a 20 20 20 20 20 20 20 20 69 73 20 73 74 |ge. is st| 000027d0 69 6c 6c 20 77 61 69 74 69 6e 67 2e 20 42 72 6f |ill waiting. Bro| 000027e0 61 64 63 61 73 74 20 6d 65 73 73 61 67 65 73 20 |adcast messages | 000027f0 61 72 65 20 6e 65 76 65 72 20 63 6c 65 61 72 65 |are never cleare| 00002800 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e |d automatically.| 00002810 0a 0a 0a 53 57 49 20 22 41 52 4d 45 64 69 74 5f |...SWI "ARMEdit_| 00002820 54 61 6c 6b 52 58 22 20 28 26 34 42 43 34 34 29 |TalkRX" (&4BC44)| 00002830 0a 0a 20 20 20 20 43 68 65 63 6b 20 66 6f 72 20 |.. Check for | 00002840 61 6e 79 20 77 61 69 74 69 6e 67 20 6d 65 73 73 |any waiting mess| 00002850 61 67 65 73 20 66 6f 72 20 74 68 69 73 20 63 6c |ages for this cl| 00002860 69 65 6e 74 20 74 61 73 6b 2e 0a 20 20 20 20 0a |ient task.. .| 00002870 20 20 20 20 4f 6e 20 65 6e 74 72 79 3a 0a 20 20 | On entry:. | 00002880 20 20 0a 20 20 20 20 20 20 20 20 52 30 20 3d 20 | . R0 = | 00002890 43 6c 69 65 6e 74 20 68 61 6e 64 6c 65 20 66 6f |Client handle fo| 000028a0 72 20 74 68 69 73 20 74 61 73 6b 2e 0a 0a 20 20 |r this task... | 000028b0 20 20 4f 6e 20 65 78 69 74 3a 0a 20 20 20 20 0a | On exit:. .| 000028c0 20 20 20 20 20 20 20 20 52 30 20 3d 20 50 6f 69 | R0 = Poi| 000028d0 6e 74 65 72 20 74 6f 20 62 6c 6f 63 6b 20 63 6f |nter to block co| 000028e0 6e 74 61 69 6e 69 6e 67 20 77 61 69 74 69 6e 67 |ntaining waiting| 000028f0 20 6d 65 73 73 61 67 65 2c 20 6f 72 20 30 20 69 | message, or 0 i| 00002900 66 20 6e 6f 20 6d 65 73 73 61 67 65 73 0a 20 20 |f no messages. | 00002910 20 20 20 20 20 20 20 20 20 20 20 77 61 69 74 69 | waiti| 00002920 6e 67 2e 0a 20 20 20 20 20 20 20 20 52 31 20 3d |ng.. R1 =| 00002930 20 53 6f 75 72 63 65 20 49 44 2e 0a 20 20 20 20 | Source ID.. | 00002940 20 20 20 20 52 32 20 3d 20 53 6f 75 72 63 65 20 | R2 = Source | 00002950 63 6c 69 65 6e 74 20 68 61 6e 64 6c 65 2e 0a 20 |client handle.. | 00002960 20 20 20 0a 20 20 20 20 49 6e 74 65 72 72 75 70 | . Interrup| 00002970 74 73 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 |ts:. . | 00002980 20 49 6e 74 65 72 72 75 70 74 20 73 74 61 74 75 | Interrupt statu| 00002990 73 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a |s is undefined..| 000029a0 20 20 20 20 20 20 20 20 46 61 73 74 20 69 6e 74 | Fast int| 000029b0 65 72 72 75 70 74 73 20 61 72 65 20 65 6e 61 62 |errupts are enab| 000029c0 6c 65 64 2e 0a 0a 20 20 20 20 50 72 6f 63 65 73 |led... Proces| 000029d0 73 6f 72 20 6d 6f 64 65 3a 0a 20 20 20 20 0a 20 |sor mode:. . | 000029e0 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 6f 72 | Processor| 000029f0 20 69 73 20 69 6e 20 53 56 43 20 6d 6f 64 65 2e | is in SVC mode.| 00002a00 0a 0a 20 20 20 20 52 65 2d 65 6e 74 72 61 6e 63 |.. Re-entranc| 00002a10 79 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 |y:. . | 00002a20 53 57 49 20 69 73 20 6e 6f 74 20 72 65 2d 65 6e |SWI is not re-en| 00002a30 74 72 61 6e 74 2e 0a 0a 20 20 20 20 55 73 65 3a |trant... Use:| 00002a40 0a 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 20 |.. Check | 00002a50 66 6f 72 20 61 6e 79 20 77 61 69 74 69 6e 67 20 |for any waiting | 00002a60 6d 65 73 73 61 67 65 73 2e 20 49 66 20 6e 6f 6e |messages. If non| 00002a70 65 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 |e are available | 00002a80 52 30 20 63 6f 6e 74 61 69 6e 73 20 30 0a 20 20 |R0 contains 0. | 00002a90 20 20 20 20 20 20 6f 6e 20 65 78 69 74 2c 20 6f | on exit, o| 00002aa0 74 68 65 72 77 69 73 65 20 69 74 20 63 6f 6e 74 |therwise it cont| 00002ab0 61 69 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 |ains a pointer t| 00002ac0 6f 20 74 68 65 20 66 69 72 73 74 20 6d 65 73 73 |o the first mess| 00002ad0 61 67 65 2e 20 54 68 65 0a 20 20 20 20 20 20 20 |age. The. | 00002ae0 20 6d 65 73 73 61 67 65 20 73 68 6f 75 6c 64 20 | message should | 00002af0 62 65 20 63 68 65 63 6b 65 64 2c 20 61 6e 64 20 |be checked, and | 00002b00 69 66 20 69 74 20 69 73 20 63 6c 61 69 6d 65 64 |if it is claimed| 00002b10 20 41 52 4d 45 64 69 74 5f 54 61 6c 6b 41 63 6b | ARMEdit_TalkAck| 00002b20 20 6f 72 0a 20 20 20 20 20 20 20 20 41 52 4d 45 | or. ARME| 00002b30 64 69 74 5f 54 61 6c 6b 52 65 70 6c 79 20 73 68 |dit_TalkReply sh| 00002b40 6f 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 74 |ould be called t| 00002b50 6f 20 70 72 65 76 65 6e 74 20 69 74 20 62 65 69 |o prevent it bei| 00002b60 6e 67 20 70 61 73 73 65 64 20 74 6f 0a 20 20 20 |ng passed to. | 00002b70 20 20 20 20 20 6f 74 68 65 72 20 63 6c 69 65 6e | other clien| 00002b80 74 73 2e 20 41 6e 79 20 69 6e 66 6f 72 6d 61 74 |ts. Any informat| 00002b90 69 6f 6e 20 72 65 71 75 69 72 65 64 20 66 72 6f |ion required fro| 00002ba0 6d 20 74 68 65 20 6d 65 73 73 61 67 65 20 6d 75 |m the message mu| 00002bb0 73 74 20 62 65 20 72 65 61 64 0a 20 20 20 20 20 |st be read. | 00002bc0 20 20 20 6f 72 20 63 6f 70 69 65 64 20 69 6d 6d | or copied imm| 00002bd0 65 64 69 61 74 65 6c 79 2c 20 73 69 6e 63 65 20 |ediately, since | 00002be0 74 68 65 20 6d 65 73 73 61 67 65 20 63 6f 75 6c |the message coul| 00002bf0 64 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e |d be overwritten| 00002c00 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 6e 65 | by a. ne| 00002c10 77 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 |w message.. | 00002c20 20 20 20 0a 20 20 20 20 20 20 20 20 54 68 65 20 | . The | 00002c30 73 70 65 63 69 66 69 65 64 20 73 6f 75 72 63 65 |specified source| 00002c40 20 63 6c 69 65 6e 74 20 68 61 6e 64 6c 65 20 73 | client handle s| 00002c50 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 66 6f |hould be used fo| 00002c60 72 20 61 6e 79 20 72 65 70 6c 79 3b 0a 20 20 20 |r any reply;. | 00002c70 20 20 20 20 20 75 6e 6c 69 6b 65 20 74 68 65 20 | unlike the | 00002c80 49 44 20 69 74 20 75 6e 69 71 75 65 6c 79 20 69 |ID it uniquely i| 00002c90 64 65 6e 74 69 66 69 65 73 20 61 20 70 61 72 74 |dentifies a part| 00002ca0 69 63 75 6c 61 72 20 69 6e 73 74 61 6e 74 69 61 |icular instantia| 00002cb0 74 69 6f 6e 20 6f 66 20 61 0a 20 20 20 20 20 20 |tion of a. | 00002cc0 20 20 63 6c 69 65 6e 74 2e 0a 20 20 20 20 20 20 | client.. | 00002cd0 20 20 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 | . If th| 00002ce0 69 73 20 63 61 6c 6c 20 69 73 20 73 75 63 63 65 |is call is succe| 00002cf0 73 73 66 75 6c 20 74 68 65 6e 20 69 74 20 73 68 |ssful then it sh| 00002d00 6f 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 61 |ould be called a| 00002d10 67 61 69 6e 3b 20 69 74 20 69 73 0a 20 20 20 20 |gain; it is. | 00002d20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 | possible for| 00002d30 20 6d 75 6c 74 69 70 6c 65 20 6d 65 73 73 61 67 | multiple messag| 00002d40 65 73 20 74 6f 20 62 65 20 70 65 6e 64 69 6e 67 |es to be pending| 00002d50 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 63 6c | for a single cl| 00002d60 69 65 6e 74 2e 0a 0a 0a 53 57 49 20 22 41 52 4d |ient....SWI "ARM| 00002d70 45 64 69 74 5f 54 61 6c 6b 41 63 6b 22 20 28 26 |Edit_TalkAck" (&| 00002d80 34 42 43 34 35 29 0a 0a 20 20 20 20 43 6c 61 69 |4BC45).. Clai| 00002d90 6d 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e |m the most recen| 00002da0 74 6c 79 20 72 65 61 64 20 6d 65 73 73 61 67 65 |tly read message| 00002db0 2e 0a 20 20 20 20 0a 20 20 20 20 4f 6e 20 65 6e |.. . On en| 00002dc0 74 72 79 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 |try:. . | 00002dd0 20 20 52 30 20 3d 20 43 6c 69 65 6e 74 20 68 61 | R0 = Client ha| 00002de0 6e 64 6c 65 20 66 6f 72 20 74 68 69 73 20 74 61 |ndle for this ta| 00002df0 73 6b 2e 0a 0a 20 20 20 20 4f 6e 20 65 78 69 74 |sk... On exit| 00002e00 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 41 |:. . A| 00002e10 6c 6c 20 72 65 67 69 73 74 65 72 73 20 70 72 65 |ll registers pre| 00002e20 73 65 72 76 65 64 2e 0a 20 20 20 20 0a 20 20 20 |served.. . | 00002e30 20 49 6e 74 65 72 72 75 70 74 73 3a 0a 20 20 20 | Interrupts:. | 00002e40 20 0a 20 20 20 20 20 20 20 20 49 6e 74 65 72 72 | . Interr| 00002e50 75 70 74 20 73 74 61 74 75 73 20 69 73 20 75 6e |upt status is un| 00002e60 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 |defined.. | 00002e70 20 46 61 73 74 20 69 6e 74 65 72 72 75 70 74 73 | Fast interrupts| 00002e80 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 0a 20 | are enabled... | 00002e90 20 20 20 50 72 6f 63 65 73 73 6f 72 20 6d 6f 64 | Processor mod| 00002ea0 65 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 |e:. . | 00002eb0 50 72 6f 63 65 73 73 6f 72 20 69 73 20 69 6e 20 |Processor is in | 00002ec0 53 56 43 20 6d 6f 64 65 2e 0a 0a 20 20 20 20 52 |SVC mode... R| 00002ed0 65 2d 65 6e 74 72 61 6e 63 79 3a 0a 20 20 20 20 |e-entrancy:. | 00002ee0 0a 20 20 20 20 20 20 20 20 53 57 49 20 69 73 20 |. SWI is | 00002ef0 6e 6f 74 20 72 65 2d 65 6e 74 72 61 6e 74 2e 0a |not re-entrant..| 00002f00 0a 20 20 20 20 55 73 65 3a 0a 20 20 20 20 0a 20 |. Use:. . | 00002f10 20 20 20 20 20 20 20 41 66 74 65 72 20 72 65 61 | After rea| 00002f20 64 69 6e 67 20 61 20 6d 65 73 73 61 67 65 20 77 |ding a message w| 00002f30 69 74 68 20 41 52 4d 45 64 69 74 5f 54 61 6c 6b |ith ARMEdit_Talk| 00002f40 52 58 2c 20 74 68 69 73 20 63 61 6c 6c 20 73 68 |RX, this call sh| 00002f50 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 |ould be. | 00002f60 75 73 65 64 20 74 6f 20 63 6c 61 69 6d 20 74 68 |used to claim th| 00002f70 65 20 6d 65 73 73 61 67 65 2c 20 61 6e 64 20 74 |e message, and t| 00002f80 6f 20 70 72 65 76 65 6e 74 20 69 74 20 62 65 69 |o prevent it bei| 00002f90 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 6f 74 |ng offered to ot| 00002fa0 68 65 72 0a 20 20 20 20 20 20 20 20 63 6c 69 65 |her. clie| 00002fb0 6e 74 73 2e 20 54 68 69 73 20 73 68 6f 75 6c 64 |nts. This should| 00002fc0 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 | be used before | 00002fd0 63 61 6c 6c 69 6e 67 20 61 6e 79 20 6f 74 68 65 |calling any othe| 00002fe0 72 20 53 57 49 73 20 66 72 6f 6d 20 74 68 69 73 |r SWIs from this| 00002ff0 0a 20 20 20 20 20 20 20 20 6d 6f 64 75 6c 65 2e |. module.| 00003000 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 |. . | 00003010 20 20 49 66 20 74 68 65 20 6d 65 73 73 61 67 65 | If the message| 00003020 20 77 61 73 20 73 65 6e 74 20 62 79 20 74 68 65 | was sent by the| 00003030 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c 65 20 | ARMEdit module | 00003040 74 68 65 6e 20 63 61 6c 6c 69 6e 67 20 74 68 69 |then calling thi| 00003050 73 20 53 57 49 0a 20 20 20 20 20 20 20 20 68 61 |s SWI. ha| 00003060 73 20 6e 6f 20 65 66 66 65 63 74 3b 20 6f 74 68 |s no effect; oth| 00003070 65 72 20 63 6c 69 65 6e 74 73 20 73 74 69 6c 6c |er clients still| 00003080 20 72 65 63 65 69 76 65 20 74 68 65 20 6d 65 73 | receive the mes| 00003090 73 61 67 65 2e 0a 0a 0a 53 57 49 20 22 41 52 4d |sage....SWI "ARM| 000030a0 45 64 69 74 5f 48 50 43 22 20 28 26 34 42 43 34 |Edit_HPC" (&4BC4| 000030b0 36 29 0a 0a 20 20 20 20 43 61 6c 6c 20 61 6e 20 |6).. Call an | 000030c0 41 52 4d 45 64 69 74 20 48 50 43 20 73 65 72 76 |ARMEdit HPC serv| 000030d0 69 63 65 2e 0a 20 20 20 20 0a 20 20 20 20 4f 6e |ice.. . On| 000030e0 20 65 6e 74 72 79 3a 0a 20 20 20 20 0a 20 20 20 | entry:. . | 000030f0 20 20 20 20 20 52 30 20 3d 20 4c 65 6e 67 74 68 | R0 = Length| 00003100 20 6f 66 20 66 69 72 73 74 20 69 6e 70 75 74 20 | of first input | 00003110 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 52 |block.. R| 00003120 31 20 3d 20 50 6f 69 6e 74 65 72 20 74 6f 20 66 |1 = Pointer to f| 00003130 69 72 73 74 20 69 6e 70 75 74 20 62 6c 6f 63 6b |irst input block| 00003140 2e 0a 20 20 20 20 20 20 20 20 52 32 20 3d 20 4c |.. R2 = L| 00003150 65 6e 67 74 68 20 6f 66 20 73 65 63 6f 6e 64 20 |ength of second | 00003160 69 6e 70 75 74 20 62 6c 6f 63 6b 2e 0a 20 20 20 |input block.. | 00003170 20 20 20 20 20 52 33 20 3d 20 50 6f 69 6e 74 65 | R3 = Pointe| 00003180 72 20 74 6f 20 73 65 63 6f 6e 64 20 69 6e 70 75 |r to second inpu| 00003190 74 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 |t block.. | 000031a0 20 52 34 20 3d 20 4c 65 6e 67 74 68 20 6f 66 20 | R4 = Length of | 000031b0 66 69 72 73 74 20 6f 75 74 70 75 74 20 62 6c 6f |first output blo| 000031c0 63 6b 2e 0a 20 20 20 20 20 20 20 20 52 35 20 3d |ck.. R5 =| 000031d0 20 50 6f 69 6e 74 65 72 20 74 6f 20 66 69 72 73 | Pointer to firs| 000031e0 74 20 6f 75 74 70 75 74 20 62 6c 6f 63 6b 2e 0a |t output block..| 000031f0 20 20 20 20 20 20 20 20 52 36 20 3d 20 4c 65 6e | R6 = Len| 00003200 67 74 68 20 6f 66 20 73 65 63 6f 6e 64 20 6f 75 |gth of second ou| 00003210 74 70 75 74 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 |tput block.. | 00003220 20 20 20 20 52 37 20 3d 20 50 6f 69 6e 74 65 72 | R7 = Pointer| 00003230 20 74 6f 20 73 65 63 6f 6e 64 20 6f 75 74 70 75 | to second outpu| 00003240 74 20 62 6c 6f 63 6b 2e 0a 0a 20 20 20 20 4f 6e |t block... On| 00003250 20 65 78 69 74 3a 0a 20 20 20 20 0a 20 20 20 20 | exit:. . | 00003260 20 20 20 20 41 6c 6c 20 72 65 67 69 73 74 65 72 | All register| 00003270 73 20 70 72 65 73 65 72 76 65 64 2e 0a 0a 20 20 |s preserved... | 00003280 20 20 49 6e 74 65 72 72 75 70 74 73 3a 0a 20 20 | Interrupts:. | 00003290 20 20 0a 20 20 20 20 20 20 20 20 49 6e 74 65 72 | . Inter| 000032a0 72 75 70 74 20 73 74 61 74 75 73 20 69 73 20 75 |rupt status is u| 000032b0 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 |ndefined.. | 000032c0 20 20 46 61 73 74 20 69 6e 74 65 72 72 75 70 74 | Fast interrupt| 000032d0 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 0a |s are enabled...| 000032e0 20 20 20 20 50 72 6f 63 65 73 73 6f 72 20 6d 6f | Processor mo| 000032f0 64 65 3a 0a 20 20 20 20 0a 20 20 20 20 20 20 20 |de:. . | 00003300 20 50 72 6f 63 65 73 73 6f 72 20 69 73 20 69 6e | Processor is in| 00003310 20 53 56 43 20 6d 6f 64 65 2e 0a 0a 20 20 20 20 | SVC mode... | 00003320 52 65 2d 65 6e 74 72 61 6e 63 79 3a 0a 20 20 20 |Re-entrancy:. | 00003330 20 0a 20 20 20 20 20 20 20 20 53 57 49 20 69 73 | . SWI is| 00003340 20 6e 6f 74 20 72 65 2d 65 6e 74 72 61 6e 74 2e | not re-entrant.| 00003350 0a 0a 20 20 20 20 55 73 65 3a 0a 20 20 20 20 0a |.. Use:. .| 00003360 20 20 20 20 20 20 20 20 54 68 69 73 20 63 61 6c | This cal| 00003370 6c 20 6d 61 79 20 65 69 74 68 65 72 20 62 65 20 |l may either be | 00003380 75 73 65 64 20 74 6f 20 74 65 73 74 20 48 50 43 |used to test HPC| 00003390 20 73 65 72 76 69 63 65 73 2c 20 6f 72 20 74 6f | services, or to| 000033a0 20 70 72 6f 76 69 64 65 0a 20 20 20 20 20 20 20 | provide. | 000033b0 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 72 | access to the r| 000033c0 6f 75 74 69 6e 65 73 20 66 72 6f 6d 20 61 20 73 |outines from a s| 000033d0 79 73 74 65 6d 20 74 68 61 74 20 64 6f 65 73 20 |ystem that does | 000033e0 6e 6f 74 20 73 75 70 70 6f 72 74 20 65 69 74 68 |not support eith| 000033f0 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 74 68 |er of. th| 00003400 65 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 73 |e communications| 00003410 20 73 79 73 74 65 6d 73 20 75 73 65 64 20 6e 6f | systems used no| 00003420 72 6d 61 6c 6c 79 20 62 79 20 74 68 65 20 41 52 |rmally by the AR| 00003430 4d 45 64 69 74 20 73 79 73 74 65 6d 2e 0a 20 20 |MEdit system.. | 00003440 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 46 | . F| 00003450 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 74 |or convenience t| 00003460 68 65 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 |he input and out| 00003470 70 75 74 20 64 61 74 61 20 6d 61 79 20 62 65 20 |put data may be | 00003480 73 70 6c 69 74 20 69 6e 74 6f 20 74 77 6f 0a 20 |split into two. | 00003490 20 20 20 20 20 20 20 70 6f 72 74 69 6f 6e 73 2e | portions.| 000034a0 20 41 6e 79 20 6c 65 6e 67 74 68 20 76 61 6c 75 | Any length valu| 000034b0 65 20 6d 61 79 20 62 65 20 7a 65 72 6f 20 74 6f |e may be zero to| 000034c0 20 6f 6d 69 74 20 74 68 61 74 20 70 6f 72 74 69 | omit that porti| 000034d0 6f 6e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 |on. The. | 000034e0 69 6e 70 75 74 20 64 61 74 61 20 6d 75 73 74 20 |input data must | 000034f0 62 65 20 61 74 20 6c 65 61 73 74 20 74 77 6f 20 |be at least two | 00003500 62 79 74 65 73 20 6c 6f 6e 67 20 74 6f 20 63 6f |bytes long to co| 00003510 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 20 49 44 |ntain a valid ID| 00003520 2e 0a 0a 0a 53 57 49 20 22 41 52 4d 45 64 69 74 |....SWI "ARMEdit| 00003530 5f 50 6f 6c 6c 69 6e 67 22 20 28 26 34 42 43 34 |_Polling" (&4BC4| 00003540 37 29 0a 0a 20 20 20 20 43 6f 6e 74 72 6f 6c 20 |7).. Control | 00003550 74 68 65 20 6d 75 6c 74 69 74 61 73 6b 69 6e 67 |the multitasking| 00003560 20 73 70 65 65 64 20 6f 66 20 74 68 65 20 50 43 | speed of the PC| 00003570 20 63 61 72 64 2e 0a 20 20 20 20 0a 20 20 20 20 | card.. . | 00003580 4f 6e 20 65 6e 74 72 79 3a 0a 20 20 20 20 0a 20 |On entry:. . | 00003590 20 20 20 20 20 20 20 52 30 20 3d 20 46 6f 72 65 | R0 = Fore| 000035a0 67 72 6f 75 6e 64 20 73 70 65 65 64 2c 20 6f 72 |ground speed, or| 000035b0 20 2d 31 20 74 6f 20 72 65 61 64 20 74 68 65 20 | -1 to read the | 000035c0 63 75 72 72 65 6e 74 20 73 65 74 74 69 6e 67 2e |current setting.| 000035d0 0a 20 20 20 20 20 20 20 20 52 31 20 3d 20 42 61 |. R1 = Ba| 000035e0 63 6b 67 72 6f 75 6e 64 20 73 70 65 65 64 2c 20 |ckground speed, | 000035f0 6f 72 20 2d 31 20 74 6f 20 72 65 61 64 20 74 68 |or -1 to read th| 00003600 65 20 63 75 72 72 65 6e 74 20 73 65 74 74 69 6e |e current settin| 00003610 67 2e 0a 0a 20 20 20 20 4f 6e 20 65 78 69 74 3a |g... On exit:| 00003620 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 52 30 |. . R0| 00003630 20 3d 20 54 68 65 20 63 75 72 72 65 6e 74 20 66 | = The current f| 00003640 6f 72 65 67 72 6f 75 6e 64 20 73 70 65 65 64 2e |oreground speed.| 00003650 0a 20 20 20 20 20 20 20 20 52 31 20 3d 20 54 68 |. R1 = Th| 00003660 65 20 63 75 72 72 65 6e 74 20 62 61 63 6b 67 72 |e current backgr| 00003670 6f 75 6e 64 20 73 70 65 65 64 2e 0a 20 20 20 20 |ound speed.. | 00003680 0a 20 20 20 20 49 6e 74 65 72 72 75 70 74 73 3a |. Interrupts:| 00003690 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 49 6e |. . In| 000036a0 74 65 72 72 75 70 74 20 73 74 61 74 75 73 20 69 |terrupt status i| 000036b0 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 |s undefined.. | 000036c0 20 20 20 20 20 46 61 73 74 20 69 6e 74 65 72 72 | Fast interr| 000036d0 75 70 74 73 20 61 72 65 20 65 6e 61 62 6c 65 64 |upts are enabled| 000036e0 2e 0a 0a 20 20 20 20 50 72 6f 63 65 73 73 6f 72 |... Processor| 000036f0 20 6d 6f 64 65 3a 0a 20 20 20 20 0a 20 20 20 20 | mode:. . | 00003700 20 20 20 20 50 72 6f 63 65 73 73 6f 72 20 69 73 | Processor is| 00003710 20 69 6e 20 53 56 43 20 6d 6f 64 65 2e 0a 0a 20 | in SVC mode... | 00003720 20 20 20 52 65 2d 65 6e 74 72 61 6e 63 79 3a 0a | Re-entrancy:.| 00003730 20 20 20 20 0a 20 20 20 20 20 20 20 20 53 57 49 | . SWI| 00003740 20 69 73 20 6e 6f 74 20 72 65 2d 65 6e 74 72 61 | is not re-entra| 00003750 6e 74 2e 0a 0a 20 20 20 20 55 73 65 3a 0a 20 20 |nt... Use:. | 00003760 20 20 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 | . This | 00003770 63 61 6c 6c 20 68 61 73 20 68 61 73 20 61 20 73 |call has has a s| 00003780 69 6d 69 6c 61 72 20 75 73 65 20 74 6f 20 2a 41 |imilar use to *A| 00003790 52 4d 45 64 69 74 5f 50 6f 6c 6c 69 6e 67 2e 0a |RMEdit_Polling..| 000037a0 0a 20 20 20 20 20 20 20 20 4c 61 72 67 65 72 20 |. Larger | 000037b0 76 61 6c 75 65 73 20 69 6e 63 72 65 61 73 65 20 |values increase | 000037c0 74 68 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 |the performance | 000037d0 6f 66 20 74 68 65 20 50 43 20 63 61 72 64 20 61 |of the PC card a| 000037e0 74 20 74 68 65 20 65 78 70 65 6e 73 65 0a 20 20 |t the expense. | 000037f0 20 20 20 20 20 20 6f 66 20 73 6c 6f 77 69 6e 67 | of slowing| 00003800 20 64 6f 77 6e 20 74 68 65 20 64 65 73 6b 74 6f | down the deskto| 00003810 70 2e 20 41 20 76 61 6c 75 65 20 6f 66 20 30 20 |p. A value of 0 | 00003820 72 65 73 75 6c 74 73 20 69 6e 20 74 68 65 20 6e |results in the n| 00003830 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 62 65 |ormal. be| 00003840 68 61 76 69 6f 75 72 2e 0a 0a 0a 53 57 49 20 22 |haviour....SWI "| 00003850 41 52 4d 45 64 69 74 5f 54 61 6c 6b 52 65 70 6c |ARMEdit_TalkRepl| 00003860 79 22 20 28 26 34 42 43 34 38 29 0a 0a 20 20 20 |y" (&4BC48).. | 00003870 20 52 65 70 6c 79 20 74 6f 20 61 20 6d 65 73 73 | Reply to a mess| 00003880 61 67 65 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 |age from another| 00003890 20 63 6c 69 65 6e 74 20 74 61 73 6b 2e 0a 20 20 | client task.. | 000038a0 20 20 0a 20 20 20 20 4f 6e 20 65 6e 74 72 79 3a | . On entry:| 000038b0 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 52 30 |. . R0| 000038c0 20 3d 20 43 6c 69 65 6e 74 20 68 61 6e 64 6c 65 | = Client handle| 000038d0 20 66 6f 72 20 74 68 69 73 20 74 61 73 6b 2e 0a | for this task..| 000038e0 20 20 20 20 20 20 20 20 52 31 20 3d 20 54 68 65 | R1 = The| 000038f0 20 63 6c 69 65 6e 74 20 68 61 6e 64 6c 65 20 66 | client handle f| 00003900 6f 72 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 |or the recipient| 00003910 2e 0a 20 20 20 20 20 20 20 20 52 32 20 3d 20 50 |.. R2 = P| 00003920 6f 69 6e 74 65 72 20 74 6f 20 62 6c 6f 63 6b 20 |ointer to block | 00003930 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6d |containing the m| 00003940 65 73 73 61 67 65 20 74 6f 20 73 65 6e 64 2e 0a |essage to send..| 00003950 0a 20 20 20 20 4f 6e 20 65 78 69 74 3a 0a 20 20 |. On exit:. | 00003960 20 20 0a 20 20 20 20 20 20 20 20 41 6c 6c 20 72 | . All r| 00003970 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 |egisters preserv| 00003980 65 64 2e 0a 20 20 20 20 0a 20 20 20 20 49 6e 74 |ed.. . Int| 00003990 65 72 72 75 70 74 73 3a 0a 20 20 20 20 0a 20 20 |errupts:. . | 000039a0 20 20 20 20 20 20 49 6e 74 65 72 72 75 70 74 20 | Interrupt | 000039b0 73 74 61 74 75 73 20 69 73 20 75 6e 64 65 66 69 |status is undefi| 000039c0 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 46 61 73 |ned.. Fas| 000039d0 74 20 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 |t interrupts are| 000039e0 20 65 6e 61 62 6c 65 64 2e 0a 0a 20 20 20 20 50 | enabled... P| 000039f0 72 6f 63 65 73 73 6f 72 20 6d 6f 64 65 3a 0a 20 |rocessor mode:. | 00003a00 20 20 20 0a 20 20 20 20 20 20 20 20 50 72 6f 63 | . Proc| 00003a10 65 73 73 6f 72 20 69 73 20 69 6e 20 53 56 43 20 |essor is in SVC | 00003a20 6d 6f 64 65 2e 0a 0a 20 20 20 20 52 65 2d 65 6e |mode... Re-en| 00003a30 74 72 61 6e 63 79 3a 0a 20 20 20 20 0a 20 20 20 |trancy:. . | 00003a40 20 20 20 20 20 53 57 49 20 69 73 20 6e 6f 74 20 | SWI is not | 00003a50 72 65 2d 65 6e 74 72 61 6e 74 2e 0a 0a 20 20 20 |re-entrant... | 00003a60 20 55 73 65 3a 0a 20 20 20 20 0a 20 20 20 20 20 | Use:. . | 00003a70 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 | This is like | 00003a80 41 52 4d 45 64 69 74 5f 54 61 6c 6b 54 58 2c 20 |ARMEdit_TalkTX, | 00003a90 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 |except that the | 00003aa0 6d 65 73 73 61 67 65 20 69 73 20 73 74 6f 72 65 |message is store| 00003ab0 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 |d in the. | 00003ac0 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 61 73 | destination tas| 00003ad0 6b 27 73 20 6d 65 73 73 61 67 65 20 62 75 66 66 |k's message buff| 00003ae0 65 72 2e 20 54 68 65 20 64 65 73 74 69 6e 61 74 |er. The destinat| 00003af0 69 6f 6e 20 74 61 73 6b 20 6d 75 73 74 20 62 65 |ion task must be| 00003b00 0a 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 |. specifi| 00003b10 65 64 20 62 79 20 69 74 27 73 20 63 6c 69 65 6e |ed by it's clien| 00003b20 74 20 68 61 6e 64 6c 65 3b 20 69 74 20 69 73 20 |t handle; it is | 00003b30 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 |not possible to | 00003b40 73 65 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 |send the. | 00003b50 20 6d 65 73 73 61 67 65 20 74 6f 20 61 6e 20 49 | message to an I| 00003b60 44 2e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 |D.. . | 00003b70 20 20 20 20 54 68 65 20 6d 61 69 6e 20 75 73 65 | The main use| 00003b80 20 6f 66 20 74 68 69 73 20 63 61 6c 6c 20 69 73 | of this call is| 00003b90 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20 | to support the | 00003ba0 65 61 73 79 20 63 72 65 61 74 69 6f 6e 20 6f 66 |easy creation of| 00003bb0 20 52 49 53 43 20 4f 53 0a 20 20 20 20 20 20 20 | RISC OS. | 00003bc0 20 74 61 73 6b 73 20 61 63 74 69 6e 67 20 61 73 | tasks acting as| 00003bd0 20 61 20 73 65 72 76 65 72 20 66 6f 72 20 6d 75 | a server for mu| 00003be0 6c 74 69 70 6c 65 20 50 43 20 74 61 73 6b 73 2e |ltiple PC tasks.| 00003bf0 0a 0a 0a 54 48 49 4e 47 53 20 54 4f 20 44 4f 0a |...THINGS TO DO.| 00003c00 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 |.The following a| 00003c10 72 65 20 63 68 61 6e 67 65 73 20 74 68 61 74 20 |re changes that | 00003c20 6d 61 79 20 62 65 20 6d 61 64 65 20 74 6f 20 74 |may be made to t| 00003c30 68 65 20 41 52 4d 45 64 69 74 20 6d 6f 64 75 6c |he ARMEdit modul| 00003c40 65 20 73 6f 6d 65 74 69 6d 65 20 69 6e 0a 74 68 |e sometime in.th| 00003c50 65 20 66 75 74 75 72 65 2e 0a 0a 20 20 20 20 4e |e future... N| 00003c60 6f 6e 65 20 61 74 20 74 68 65 20 6d 6f 6d 65 6e |one at the momen| 00003c70 74 21 0a 0a 0a 56 45 52 53 49 4f 4e 20 48 49 53 |t!...VERSION HIS| 00003c80 54 4f 52 59 0a 0a 30 2e 30 30 20 28 31 32 2d 4e |TORY..0.00 (12-N| 00003c90 6f 76 2d 39 35 29 20 20 20 20 4f 72 69 67 69 6e |ov-95) Origin| 00003ca0 61 6c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 76 |al development v| 00003cb0 65 72 73 69 6f 6e 2e 0a 0a 30 2e 30 31 20 28 31 |ersion...0.01 (1| 00003cc0 34 2d 4e 6f 76 2d 39 35 29 20 20 20 20 46 69 78 |4-Nov-95) Fix| 00003cd0 65 64 20 62 75 67 73 20 69 6e 20 66 69 6c 65 20 |ed bugs in file | 00003ce0 68 61 6e 64 6c 69 6e 67 2e 20 52 65 6d 6f 76 65 |handling. Remove| 00003cf0 64 20 73 74 72 61 79 20 64 65 62 75 67 67 69 6e |d stray debuggin| 00003d00 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 |g code.. | 00003d10 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 73 | Sets| 00003d20 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 73 63 | variable for sc| 00003d30 72 61 70 20 64 69 72 65 63 74 6f 72 79 20 61 6e |rap directory an| 00003d40 64 20 65 6e 73 75 72 65 20 69 74 20 65 78 69 73 |d ensure it exis| 00003d50 74 73 2e 0a 0a 30 2e 30 32 20 28 31 35 2d 4e 6f |ts...0.02 (15-No| 00003d60 76 2d 39 35 29 20 20 20 20 49 6e 63 6c 75 64 65 |v-95) Include| 00003d70 64 20 65 78 74 72 61 20 63 6f 6d 6d 61 6e 64 20 |d extra command | 00003d80 74 6f 20 64 69 73 70 6c 61 79 20 50 43 20 66 72 |to display PC fr| 00003d90 6f 6e 74 2d 65 6e 64 20 76 65 72 73 69 6f 6e 2e |ont-end version.| 00003da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00003db0 20 20 20 20 20 46 69 78 65 64 20 77 6f 72 6b 73 | Fixed works| 00003dc0 70 61 63 65 20 68 61 6e 64 6c 69 6e 67 20 66 6f |pace handling fo| 00003dd0 72 20 2a 63 6f 6d 6d 61 6e 64 73 2e 20 28 4f 6f |r *commands. (Oo| 00003de0 70 73 21 29 0a 0a 30 2e 30 33 20 28 31 37 2d 4e |ps!)..0.03 (17-N| 00003df0 6f 76 2d 39 35 29 20 20 20 20 55 73 65 73 20 63 |ov-95) Uses c| 00003e00 6f 72 72 65 63 74 20 48 50 43 20 73 65 72 76 69 |orrect HPC servi| 00003e10 63 65 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 |ce identifier.. | 00003e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003e30 20 20 20 49 6e 63 6c 75 64 65 73 20 64 65 76 65 | Includes deve| 00003e40 6c 6f 70 6d 65 6e 74 20 76 65 72 73 69 6f 6e 73 |lopment versions| 00003e50 20 6f 66 20 64 65 76 69 63 65 20 64 72 69 76 65 | of device drive| 00003e60 72 20 73 75 70 70 6f 72 74 2e 0a 0a 30 2e 30 34 |r support...0.04| 00003e70 20 28 32 31 2d 4e 6f 76 2d 39 35 29 20 20 20 20 | (21-Nov-95) | 00003e80 49 6d 70 6c 65 6d 65 6e 74 65 64 20 74 68 65 20 |Implemented the | 00003e90 2a 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 72 65 |*commands and re| 00003ea0 61 6c 20 48 50 43 20 73 75 70 70 6f 72 74 2e 0a |al HPC support..| 00003eb0 0a 30 2e 30 36 20 28 32 32 2d 44 65 63 2d 39 35 |.0.06 (22-Dec-95| 00003ec0 29 20 20 20 20 41 64 64 65 64 20 53 57 49 20 74 |) Added SWI t| 00003ed0 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 50 43 |o control the PC| 00003ee0 20 66 72 6f 6e 74 2d 65 6e 64 2e 0a 0a 30 2e 30 | front-end...0.0| 00003ef0 37 20 28 32 38 2d 44 65 63 2d 39 35 29 20 20 20 |7 (28-Dec-95) | 00003f00 20 41 64 64 65 64 20 6d 65 73 73 61 67 65 20 70 | Added message p| 00003f10 61 73 73 69 6e 67 20 70 72 6f 74 6f 63 6f 6c 2e |assing protocol.| 00003f20 0a 0a 31 2e 30 30 20 28 31 32 2d 4a 61 6e 2d 39 |..1.00 (12-Jan-9| 00003f30 36 29 20 20 20 20 46 69 72 73 74 20 6f 66 66 69 |6) First offi| 00003f40 63 69 61 6c 20 72 65 6c 65 61 73 65 20 76 65 72 |cial release ver| 00003f50 73 69 6f 6e 2e 0a 0a 31 2e 30 31 20 28 31 31 2d |sion...1.01 (11-| 00003f60 46 65 62 2d 39 36 29 20 20 20 20 44 6f 65 73 20 |Feb-96) Does | 00003f70 6e 6f 74 20 63 72 61 73 68 20 77 68 65 6e 20 6e |not crash when n| 00003f80 6f 20 44 4f 53 4d 61 70 20 6d 61 70 70 69 6e 67 |o DOSMap mapping| 00003f90 73 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 |s defined.. | 00003fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 00003fb0 6f 64 75 6c 65 20 63 61 6e 20 62 65 20 6c 6f 61 |odule can be loa| 00003fc0 64 65 64 20 61 66 74 65 72 20 6e 65 77 20 76 65 |ded after new ve| 00003fd0 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 50 43 |rsions of the PC| 00003fe0 20 66 72 6f 6e 74 2d 65 6e 64 2e 0a 0a 31 2e 30 | front-end...1.0| 00003ff0 32 20 28 30 36 2d 41 75 67 2d 39 36 29 20 20 20 |2 (06-Aug-96) | 00004000 20 53 6f 6d 65 20 6d 65 6d 6f 72 79 20 6d 61 6e | Some memory man| 00004010 61 67 65 6d 65 6e 74 20 6d 6f 76 65 64 20 74 6f |agement moved to| 00004020 20 61 20 64 79 6e 61 6d 69 63 20 61 72 65 61 20 | a dynamic area | 00004030 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 |if available.. | 00004040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004050 20 20 44 65 76 69 63 65 20 64 72 69 76 65 72 20 | Device driver | 00004060 73 75 70 70 6f 72 74 20 61 64 64 65 64 2e 0a 20 |support added.. | 00004070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004080 20 20 20 52 6f 75 74 69 6e 65 73 20 74 6f 20 63 | Routines to c| 00004090 6f 6e 76 65 72 74 20 64 61 74 65 20 61 6e 64 20 |onvert date and | 000040a0 74 69 6d 65 20 73 74 61 6d 70 73 20 69 6e 63 6c |time stamps incl| 000040b0 75 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 |uded.. | 000040c0 20 20 20 20 20 20 20 20 20 20 41 64 64 65 64 20 | Added | 000040d0 53 57 49 20 74 6f 20 63 61 6c 6c 20 69 6e 74 65 |SWI to call inte| 000040e0 72 6e 61 6c 20 48 50 43 20 73 65 72 76 69 63 65 |rnal HPC service| 000040f0 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |s.. | 00004100 20 20 20 20 20 20 20 43 6f 72 72 65 63 74 65 64 | Corrected| 00004110 20 63 6f 6d 6d 61 6e 64 20 68 65 6c 70 20 74 65 | command help te| 00004120 78 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 |xts.. | 00004130 20 20 20 20 20 20 20 20 20 41 64 64 65 64 20 63 | Added c| 00004140 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 74 20 6d 75 |ommand to set mu| 00004150 6c 74 69 74 61 73 6b 69 6e 67 20 73 70 65 65 64 |ltitasking speed| 00004160 20 6f 66 20 50 43 20 66 72 6f 6e 74 2d 65 6e 64 | of PC front-end| 00004170 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00004180 20 20 20 20 20 20 50 72 6f 76 69 64 65 64 20 6d | Provided m| 00004190 65 63 68 61 6e 69 73 6d 20 66 6f 72 20 63 68 65 |echanism for che| 000041a0 63 6b 69 6e 67 20 64 65 6c 69 76 65 72 79 20 6f |cking delivery o| 000041b0 66 20 6d 65 73 73 61 67 65 73 2e 0a 0a 31 2e 30 |f messages...1.0| 000041c0 33 20 28 32 31 2d 46 65 62 2d 39 37 29 20 20 20 |3 (21-Feb-97) | 000041d0 20 41 64 64 65 64 20 53 57 49 20 74 6f 20 73 65 | Added SWI to se| 000041e0 74 20 6d 75 6c 74 69 74 61 73 6b 69 6e 67 20 73 |t multitasking s| 000041f0 70 65 65 64 20 6f 66 20 50 43 20 66 72 6f 6e 74 |peed of PC front| 00004200 2d 65 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 20 |-end.. | 00004210 20 20 20 20 20 20 20 20 20 20 41 64 64 65 64 20 | Added | 00004220 53 57 49 20 74 6f 20 72 65 70 6c 79 20 74 6f 20 |SWI to reply to | 00004230 61 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 |a message.. | 00004240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 | B| 00004250 72 6f 61 64 63 61 73 74 20 6d 65 73 73 61 67 65 |roadcast message| 00004260 73 20 66 72 6f 6d 20 74 68 65 20 41 52 4d 45 64 |s from the ARMEd| 00004270 69 74 20 6d 6f 64 75 6c 65 20 61 72 65 20 6e 6f |it module are no| 00004280 77 20 73 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 |w sent.. | 00004290 20 20 20 20 20 20 20 20 20 20 20 20 53 70 65 65 | Spee| 000042a0 64 20 63 6f 6e 74 72 6f 6c 20 6e 6f 77 20 77 6f |d control now wo| 000042b0 72 6b 73 20 63 6f 72 72 65 63 74 6c 79 20 77 69 |rks correctly wi| 000042c0 74 68 20 50 43 20 66 72 6f 6e 74 2d 65 6e 64 20 |th PC front-end | 000042d0 32 76 30 32 2e 0a 20 20 20 20 20 20 20 20 20 20 |2v02.. | 000042e0 20 20 20 20 20 20 20 20 20 20 45 78 74 65 6e 64 | Extend| 000042f0 65 64 20 2a 41 52 4d 45 64 69 74 5f 44 65 76 69 |ed *ARMEdit_Devi| 00004300 63 65 73 52 65 6c 6f 67 20 74 6f 20 66 6f 72 63 |cesRelog to forc| 00004310 65 20 69 6d 6d 65 64 69 61 74 65 20 72 65 6c 6f |e immediate relo| 00004320 67 2e 0a 0a 31 2e 30 34 20 28 30 37 2d 44 65 63 |g...1.04 (07-Dec| 00004330 2d 39 37 29 20 20 20 20 45 78 74 72 61 20 69 6e |-97) Extra in| 00004340 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 64 69 73 |formation is dis| 00004350 70 6c 61 79 65 64 20 66 6f 72 20 2a 41 52 4d 45 |played for *ARME| 00004360 64 69 74 5f 44 65 76 69 63 65 73 2e 0a 20 20 20 |dit_Devices.. | 00004370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004380 20 2a 41 52 4d 45 64 69 74 5f 46 69 6c 65 73 20 | *ARMEdit_Files | 00004390 61 6c 73 6f 20 6c 69 73 74 73 20 66 69 6c 65 73 |also lists files| 000043a0 20 75 73 65 64 20 62 79 20 74 68 65 20 64 65 76 | used by the dev| 000043b0 69 63 65 20 64 72 69 76 65 72 2e |ice driver.| 000043bb