7D9E 2A 0E 40 LD HL,(400E) ; get PRINT AT position
7DA1 36 04 LD (HL),04 ; show cursor
7DA3 CD D3 78 CALL 78D3 ; read input key
7DA6 D7 RST 10 ; print key (even if not printable!)
7DA7 CD AA 78 CALL 78AA ; wait for key release
7DAA F5 PUSH AF ; save key
7DAB AF XOR A
7DAC D7 RST 10 ; print space
7DAD CD 52 7A CALL 7A52 ; read string
7DB0 B7 OR A
7DB1 CA 4A 7A JP Z,7A4A ; exit to main menu if empty string
7DB4 01 04 15 LD BC,1504
7DB7 CD A1 7A CALL 7AA1 ; parse numeric value
7DBA F1 POP AF ; restore key
7DBB EB EX DE,HL ; load numeric value into HL
7DBC FE 26 CP 26 ; key 'A'?
7DBE 20 03 JR NZ,7DC3
7DC0 22 36 79 LD (7936),HL ; update register pair AF
7DC3 FE 2D CP 2D ; key 'H'?
7DC5 20 03 JR NZ,7DCA
7DC7 22 38 79 LD (7938),HL ; update register pair HL
7DCA FE 29 CP 29 ; key 'D'?
7DCC 20 03 JR NZ,7DD1
7DCE 22 3A 79 LD (793A),HL ; update register pair DE
7DD1 FE 27 CP 27 ; key 'B'?
7DD3 20 03 JR NZ,7DD8
7DD5 22 3C 79 LD (793C),HL ; update register pair BC
7DD8 FE 33 CP 33 ; key 'N'?
7DDA 20 0C JR NZ,7DE8
7DDC 22 36 79 LD (7936),HL ; update register pair AF
7DDF 22 38 79 LD (7938),HL ; update register pair HL
7DE2 22 3A 79 LD (793A),HL ; update register pair DE
7DE5 22 3C 79 LD (793C),HL ; update register pair BC
7D9E 2A 0E 40 LD HL,(400E) ; get PRINT AT position
7DA1 36 04 LD (HL),04 ; show cursor
7DA3 CD D3 78 CALL 78D3 ; read input key
7DA6 CB 77 BIT 6,A ; ** printable key?
7DA8 28 02 JR Z,7DAC ; ** if so, skip next instruction
7DAA 3E 0F LD A,0F ; ** otherwise replace key with '?'
7DAC D7 RST 10 ; print key
7DAD F5 PUSH AF ; save key
7DAE AF XOR A
7DAF D7 RST 10 ; print space
7DB0 CD 99 7A CALL 7A99 ; ** wait for key release, then read string
7DB3 B7 OR A
7DB4 CA 4A 7A JP Z,7A4A ; exit to main menu if empty string
7DB7 01 04 15 LD BC,1504
7DBA CD A1 7A CALL 7AA1 ; parse numeric value
7DBD F1 POP AF ; restore key
7DBE EB EX DE,HL ; load numeric value into HL
7DBF FE 26 CP 26 ; key 'A'?
7DC1 20 03 JR NZ,7DC6
7DC3 22 36 79 LD (7936),HL ; update register pair AF
7DC6 FE 2D CP 2D ; key 'H'?
7DC8 20 03 JR NZ,7DCD
7DCA 22 38 79 LD (7938),HL ; update register pair HL
7DCD FE 29 CP 29 ; key 'D'?
7DCF 20 03 JR NZ,7DD4
7DD1 22 3A 79 LD (793A),HL ; update register pair DE
7DD4 FE 27 CP 27 ; key 'B'?
7DD6 28 0D JR Z,7DE5 ; ** update register pair BC
7DD8 FE 33 CP 33 ; key 'N'?
7DDA 20 0C JR NZ,7DE8
7DDC 22 36 79 LD (7936),HL ; update register pair AF
7DDF 22 38 79 LD (7938),HL ; update register pair HL
7DE2 22 3A 79 LD (793A),HL ; update register pair DE
7DE5 22 3C 79 LD (793C),HL ; update register pair BC
Spectrum Computing acknowledges the rights of copyright holders. If you would like your software removed from our preservation archive and made unavailable for download (or have any queries) please contact spectrumcomputing.co.uk@gmail.com