Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to terminate or suspend terminal mode #152

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

stevesims
Copy link
Contributor

@stevesims stevesims commented Dec 15, 2023

Adds the ability for terminal mode to recognise a specific escape sequence (ESC+#_Q!$) to exit terminal mode and restore regular VDP operation, allowing VDU handling to resume. Exiting terminal mode changes to mode 1.

Also allows terminal mode to be suspended using a different escape sequence (ESC+#_S!$). This allows programs running inside terminal mode to temporarily suspend terminal serial handling, allowing applications that use terminal mode to then send VDU commands. Terminal mode is resumed using VDU 23,0,&FF, i.e. the same command sequence to start terminal mode.

When the terminal is suspended, keyboard handling is still sent terminal-style, rather than restoring to VDP protocol keyboard packets. This should allow for programs to be written in CP/M to remain interactive whilst using VDU commands for output.

This code also adds an "emergency exit" key combo to quit out of terminal mode of Ctrl+Alt+F12

terminal mode can be exited by sending a “user sequence” of characters, `ESC + ‘_#Q!$’`
additionally an “emergency escape” key combo of ctrl+alt+f12 is supported
# Conflicts:
#	video/video.ino
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant