This shows you the differences between two versions of the page.
mantis:ide_simulator:cli [2019/04/16 08:21] colin created |
mantis:ide_simulator:cli [2023/10/02 03:29] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Command line interface ====== | ||
- | The IDE drive simulator implements a command line interface for debugging, configuration and experimentation. To connect, you must use a USB cable to connect to a host computer. When the device detects a host computer connected to either USB0 or USB1, it will simulate a serial port. | ||
- | |||
- | ===== Connection ===== | ||
- | |||
- | On Windows, use an app like HyperTerminal or [[https:// | ||
- | |||
- | On Linux and MacOS X, the device will appear under ///dev//, such as /// | ||
- | |||
- | ==== Settings ==== | ||
- | |||
- | As the serial port is simulated, baud rate, handshaking and other serial settings should not matter. | ||
- | |||
- | ===== Basic usage ===== | ||
- | |||
- | The command line works similar to DOS. It will present a prompt representing the current directory, and provides a number of commands. The //help// command lists commands currently known to the command interpreter. You can also use //SD://, //USB0:// and //USB1:// to switch between the three drives, though they will be // | ||
- | |||
- | ===== Commands ===== | ||
- | |||
- | ==== Basic I/O ==== | ||
- | |||
- | The board provides //dir//, //cd//, //ren// and //sd://, //usb0:// and //usb1:// to allow you to navigate the storage attached to the device and inspect their contents. | ||
- | |||
- | ==== Disk ==== | ||
- | |||
- | The //disk// command provides a means to manipulate the simulated disk. | ||
- | |||
- | < | ||
- | This command allows a new disk image to be selected. It simulates the drive being ejected and re-inserted, | ||
- | |||
- | < | ||
- | This command removes the disk, but as above, respects the eject disable flag, so it will fail if the host machine has locked the drive. | ||
- | |||
- | < | ||
- | This command forcibly removes the disk, and will cause I/O errors for the host machine if it continues to attempt to access it. | ||
- | |||
- | < | ||
- | This command triggers the startup logic, where the IDE simulator will search for a disk image to use. See the ' | ||
- | |||
- | < | ||
- | This command inspects a disk image and prints out relevant information, | ||
- | |||
- | < | ||
- | This command will start audio playback, if the disk image is a CD and the given track number is an audio track. | ||
- | |||
- | ==== Debugging ==== | ||
- | |||
- | These commands are provided to allow us to debug new games and applications in the field, where we may not have direct access to the hardware but still want to be able to add support. | ||
- | |||
- | < | ||
- | This command will print out ATA requests (including ATAPI packets) as they arrive on the IDE interface. This allows for remote debugging to support new games and applications that may utilise functionality that's not currently implemented. Note that this command has a major impact on performance. | ||
- | |||
- | < | ||
- | This command prints out the contents of the debug ring buffer, which is the same format as the //monitor// command but does not impact performance, | ||
- | |||
- | < | ||
- | This command prints out the values currently contained in the various IDE and internal registers. | ||
- | |||
- | < | ||
- | This command lists the state of the various tasks within the system. | ||
- | |||
- | < | ||
- | This command provides some convenient system status, including USB drivers and SD card state. |