Hi everyone,
As the title suggests, I'm trying to receive a lot of pasted code into a terminal running CP/M 2.2 and would like to receive the data and process it without it being automatically echoed back to the terminal as BDOS function 1 (C_READ) does.
I've tried using BDOS function 6 (C_RAWIO) to do this, but CP/M hangs with my implementation as I suspect it's never receiving a character, despite thousands being pasted into the console.
Here's my code:
Setting E to 0FDh would obviously be ideal, as C_RAWIO will automatically wait until a char is received and save me from the rxl: loop, but that only works in CP/M 3 apparently and I need this to work with 2.2 primarily.
Any ideas?
As the title suggests, I'm trying to receive a lot of pasted code into a terminal running CP/M 2.2 and would like to receive the data and process it without it being automatically echoed back to the terminal as BDOS function 1 (C_READ) does.
I've tried using BDOS function 6 (C_RAWIO) to do this, but CP/M hangs with my implementation as I suspect it's never receiving a character, despite thousands being pasted into the console.
Here's my code:
Code:
RX: ; Receive a char in A without echoing
PUSH BC
PUSH DE
PUSH HL
rxl: LD E,0FFh ; Get char, no echo
BDOS C_RAWIO ; Call BDOS function 6
JP Z,rxl ; Loop if no char received
POP HL
POP DE
POP BC
RET ; Char in A
Setting E to 0FDh would obviously be ideal, as C_RAWIO will automatically wait until a char is received and save me from the rxl: loop, but that only works in CP/M 3 apparently and I need this to work with 2.2 primarily.
Any ideas?
Last edited: