This changes the BDOS call from CPM_BDOS_CONSOLE_INPUT to CPN_BDOS_READ_CONSOLE_BUFFER. This allows commands like ^H to delete characters and ^C to exit to CCP. This is more like how Unix read(2) uses canonical mode of termios to read a line. This change has a disadvantage: the user buffer to read(2) must now be large enough for an entire line. This is because CP/M, unlike Unix, lacks a kernel buffer to hold the rest of the line. If you use a buffered input library like stdio to call read(2), then it works; but if you try to read part of a line or a single character, then it doesn't work. |
||
|---|---|---|
| .. | ||
| _bdos.s | ||
| _hol0.s | ||
| _inn2.s | ||
| _trap.s | ||
| brk.c | ||
| build.lua | ||
| close.c | ||
| creat.c | ||
| errno.s | ||
| getpid.c | ||
| isatty.c | ||
| kill.c | ||
| lseek.c | ||
| open.c | ||
| read.c | ||
| signal.c | ||
| time.c | ||
| write.c | ||