Skip to content
This repository has been archived by the owner on Jun 24, 2024. It is now read-only.

Enhanced terminal functionality #16

Open
4 of 10 tasks
FrankRay78 opened this issue Apr 6, 2024 · 1 comment
Open
4 of 10 tasks

Enhanced terminal functionality #16

FrankRay78 opened this issue Apr 6, 2024 · 1 comment
Assignees
Labels

Comments

@FrankRay78
Copy link
Owner

FrankRay78 commented Apr 6, 2024

The terminal is key to providing user interactivity with PatienceOS.

Here are some ideas I'd like to implement:

Terminal output

  • Multiple calls to console.Print concatenates the text across the terminal line (not exceeding the terminal width)
  • Multiple calls to console.Print concatenates the text across the terminal line (wraps to the next line when exceeding the terminal width)
  • Multiple calls to console.PrintLine displays the text on consecutive lines
  • When calls to console.Print \ console.PrintLine exceed the terminal height, the terminal scrolls the text up (ie. the oldest visible line is discarded, the remaining text is moved up one line, the new text is displayed on the last row)
  • (stretch) Ability to scroll terminal output beyond the visible dimensions ie. buffered output

Command line interpreter

  • cls - clears the terminal
  • fgcolor - set the terminal's foreground color
  • bgcolor - set the terminal's background color
  • setres - set the terminal's resolution (depends on: #15. Switch between VGA text modes)
  • cursor - sets whether the cursor should be visible

nb. the above assumes some way to inform the user of an unknown command, and/or, they have not specified a required argument for an entered command (eg. a valid foreground color for fgcolor)

References

  1. Basic x86 interrupts - will be required for receiving key strokes from the user.

Please upvote 👍 this issue if you are interested in it.

@FrankRay78
Copy link
Owner Author

Trivial changes have corrupted my kernel and prevented it from booting, see: Including an unused variable corrupts the multiboot kernel. I need to fix this before proceeding with any further development.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant