-------------------- AmigaOS 3.5/3.9 project ------------------------- CMD 44.1 (15.7.1999) - Bumped to V44. - Changed the interface, it now uses ReadArgs() and requires AmigaOS 2.04. - Removed the copyright text. CMD 44.2 (6.9.1999) - Switched over to use buffered file I/O. This will improve output speed. -------------------- AmigaOS 3.1.4.(1) project ----------------------- CMD 45.1 (4.11.2017) - Recompiled with optimized settings and without any assembler stubs. CMD 45.2 (5.11.2017) - This program was a freakshow of race conditions. Essentially, it could run out of resources, waited unnecessary in BeginIO, forgot to patch AbortIO()... This version is basically a complete rewrite that includes proper buffering. - Forwards now NSDCMD_QUERY to identify device types correctly even when forwarding. - Buffers now data in the BeginIO() vector avoiding a task switch for some broken devices, and blocks the IO if the buffer runs out. CMD 45.3 (5.11.2017) - A bit of cleanup, removed unnecessary code. CMD 45.4 (6.11.2017) - Large IORequests are no longer kept in the internal buffers, but are buffered up themselves. This avoids unnecessary copying of large data amounts. CMD 45.5 (7.6.2018) - CMD opens now a file requester if no redirection file is given. CMD 45.6 (12.6.2018) - Fixing a enforcer hit in case the list of ready requests for queueing runs empty. - The user can now specify a concrete device name with the DEVICE tool type or the DEVICE command line argument. - In case no device name is given, CMD takes now the device name from the preferences. CMD 45.7 (14.7.2018) - With the previous construction of CMD, an IORequest send later could "overtake" an IORequest send earlier, i.e. transmitted back to the caller ahead of time. Unfortunately, the printer.device does not like this at all, it requires strict serialization of requests. Hence, replaced the current algorithm of the device by a simpler one that queues all requests in serial order instead of copying the data out of the buffers for smaller requests. -------------------- AmigaOS 3.2 project ----------------------------- CMD 45.8 (22.8.2019) - If a print job was terminated due to canceling the requester, CMD did not wait for all IORequests to come in, but forcefully tried to terminate itself, hence blocking completely as the printer.device attempted to submit one last request. Fixed. - CMD could overrun buffers allocated by Icon or the shell because it extended the file count to the buffer provided by both instead of using its own buffer. - CMD cleared the target file when called from the shell, thus ignored the FILE option there.