duncanamps / box80

Z80 Virtual Machine
GNU General Public License v3.0
6 stars 1 forks source link

ANSI keystrokes #50

Open duncanamps opened 1 year ago

duncanamps commented 1 year ago

Add keyboard facilities for ANSI so that, for example, cursor up / home etc. do more meaningful things.

duncanamps commented 1 year ago

Here's a snip from the setup of Turbo Pascal 3 which gives some clues on keystrokes:

Choose one of the following terminals:

  1) ADDS 20/25/30          17) Otrona Attache
  2) ADDS 40/60             18) Qume
  3) ADDS Viewpoint-1A      19) RC-855 (ITT)
  4) ADM 3A                 20) Soroc 120/Apple CP/M
  5) Ampex D80              21) Soroc new models
  6) ANSI                   22) SSM-UB3
  7) DEC Rainbow, 8 bit     23) Tandberg TDV 2215
  8) Hazeltine 1500         24) Teleray series 10
  9) Hazeltine Esprit       25) Teletex 3000
 10) Kaypro with hilite     26) Televideo 912/920/92
 11) Kaypro, no hilite      27) Texas Instruments
 12) Lear-Siegler ADM-20    28) Visual 200
 13) Lear-Siegler ADM-31    29) Wyse WY-100/200/300
 14) Liberty                30) Zenith
 15) Morrow MDT-20          31) None of the above   
 16) Osborne 1              32) Delete a definition 

Which terminal? (Enter no. or ^Q to exit):  6
Do you want to modify this definition before installation?  (Y/N)?  Y
Terminal type: ANSI Change to: ____________________
Send an initialization string to the terminal? (Y/N)?  N Change to: N
Send a reset string to the terminal (Y/N)?  N Change to: N
CURSOR LEAD-IN command:  <ESC> [   (27 91)  Change to: 
CURSOR POSITIONING COMMAND to send between line and column:    ;   (59)  Change to: 
CURSOR POSITIONING COMMAND to send after both line and column: H   (72)  Change to: 
Column first (Y/N)?  N Change to: N
OFFSET to add to LINE:   1 Change to: 
OFFSET to add to COLUMN: 1 Change to: 
Binary address (Y/N)?  N Change to: N
Number of ASCII digits (2 or 3):  2 Change to: 
CLEAR SCREEN command:  <ESC> [ 2 J   (27 91 50 74)  Change to: 
Does CLEAR SCREEN also HOME cursor (Y/N)?  N Change to: N
HOME command:  <ESC> [ f   (27 91 102)  Change to: 
DELETE LINE command:  <ESC> [ 1 M   (27 91 49 77)  Change to: 
INSERT LINE command:  <ESC> [ 1 L   (27 91 49 76)  Change to: 
ERASE TO END OF LINE command: <ESC> [ K   (27 91 75)  Change to: 
START HIGHLIGHTING command:   <ESC> [ 1 m   (27 91 49 109)  Change to: 
END HIGHLIGHTING command:     <ESC> [ 0 m   (27 91 48 109)  Change to: 
Number of rows (lines) on your screen:  24 Change to: 
Number of columns on your screen:       80 Change to: 
Delay after CURSOR ADDRESS (0-255 ms):                      0 Change to: 
Delay after CLEAR, DELETE and INSERT (0-255 ms):            0 Change to: 
Delay after ERASE TO END OF LINE and HIGHLIGHT (0-255 ms):  0 Change to: 
Is this definition correct? (Y/N)?  Y