TheRaven81 Posted May 29, 2020 Share Posted May 29, 2020 Within a running program, when these are PRINTed to the screen, they perform a function. The only one I could find info on is the Curved arrow (#6, top row). I found that PRINTing that to the screen will effectively clear the screen. But, what about the others? When you print those to the screen, what do they do? Could someone point to a document on this, or tell me what they do (if there isn't one)? Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted May 29, 2020 Share Posted May 29, 2020 (edited) @TheRaven81 depends on combination and method of print... they can appear as themselves... or Move cursor up,down,left,right (they wrap around the screen in the same columns, same rows) Disables the next character's function and will print it instead Clear screen and home the cursor to top margin and column preset Moves the cursor to the next tab stop Delete Back Space, Moves cursor back to the left and removes the existing char in that position Deletes a line (removes current line) Inserts a line at current row (splits the line) Carriage return (moves the cursor to the first position of the next line) Sounder (makes the bell/buzzer sound) Inserts a space in current position (pushes the text to the right in the line) Delete character in current position (pulls text to the left in the line) ATASCII Function 155 End Of Line (Return) 156 Delete line 157 Insert line 158 CTRL-Tab 159 Shift-Tab 253 CTRL-2 (buzzer) 254 Delete character 255 Insert character Look in the Atari Reference Manual pages C1 to C3 and F1. In order to print the arrow keys, clear, insert, delete, buzzer, escape key, or any of the codes listed above to the screen, you must press the ESC key before entering the keyboard character(s). ATASCII codes 96 will print a backwards apostrophe instead of a diamond 123 will print a left bracket instead of a spade 125 will print a right bracket instead of a clear 126 will print a tildis instead of a backspace 127 will print a blank instead of tab There is a third set of codes used by the Atari keyboard handler These values are listed in the OS User's Manual. So depending on how you print them, whether you precede the with and escape... they have more than one outcome or function Edited May 29, 2020 by _The Doctor__ 5 Quote Link to comment Share on other sites More sharing options...
vitoco Posted May 29, 2020 Share Posted May 29, 2020 (edited) 1 hour ago, TheRaven81 said: AFAIR, in the same order: - Moves cursor up (with screen wrap, same column) - Moves cursor down (with screen wrap, same column) - Moves cursor left (with screen wrap, same row) - Moves cursor right (with screen wrap, same row) - Disables the action for next printed character - Clears screen and puts the cursor on top-left (according to defined margins) - Moves the cursor to the next tab stop - Moves cursor back to the left and removes the existing char in that position - Removes current logical line - Inserts a line at current row (splitting logical line) - Sets tab stop at current column - Removes tab stop at current column - Carriage return (moves the cursor to the first position of the next line) - Plays a bell sound - Inserts a space in current position (scrolls the text to the right in the logical line) - Removes the character in current position (scrolls text to the left in the logical line) All of these work when PRINTed into "E:" screen editor device. If you print to "S:" screen device, you will get the character font, not the screen action (except the clear screen and carriage return chars I guess). Edited May 29, 2020 by vitoco 3 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted May 29, 2020 Share Posted May 29, 2020 (edited) oops, didn't include as a thought, find some books here... http://mixinc.net/atari/books/ look for... screen editor control codes on page 50 table 7.1 of the reference found there see also keyboard handler control codes a page or two up from there.. Don't forget http://www.atarimania.com/list_documents_atari-400-800-xl-xe-_8.html has a bunch of the books and documents needed to find them all. The forum might have had a round up or cheat sheet for these.. I foggily recollect conversations to that effect. Edited May 29, 2020 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
TheRaven81 Posted May 29, 2020 Author Share Posted May 29, 2020 Aha. I will have to look at that manual some more, it seems to be really useful. The only one in my image that still stumps me is #5, 2nd Row - the inverse ESC. I can't figure out how to produce it on the screen. (That image in the first post was made with rossum's ATR Viewer, with the new fancy text editing feature. ) I can produce them all on my 800XL besides that one. Though I'm not sure if I am supposed to be able to, based on what you say the function of it is. Quote Link to comment Share on other sites More sharing options...
Sugarland Posted May 29, 2020 Share Posted May 29, 2020 Yes IIRC it's called a 'solidified carriage return'. There is a poke to produce it since pressing ESC then ENTER does not produce the character. 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted May 30, 2020 Share Posted May 30, 2020 The characters pretty well represent the functions they will perform so can eventually be memorized. You can print the actual character instead of performing it's function with a string with 3 x Esc then the key. A kludgy sort of way to print the inverse Esc character inside a program: GR. 0 ? #6,"<esc> <esc> <esc> <cursor left>"; : PUT #6,155 Thanks to a bug that sees S: sometimes leaving a cursor behind that can give you the unprintable character, though probably won't work in the last character position at the right. 2 Quote Link to comment Share on other sites More sharing options...
billkendrick Posted June 1, 2020 Share Posted June 1, 2020 On 5/29/2020 at 12:09 PM, Sugarland said: Yes IIRC it's called a 'solidified carriage return'. There is a poke to produce it since pressing ESC then ENTER does not produce the character. It always annoyed me that it was physically possible to to type merely 99.6% of the characters using control/inverse/escape sequences. I don't see why it shouldn't be possible to type it (e.g., with an escape sequence like [Esc][Return]). Has anyone tried patching the OS's E: handler to let us do it? >;-) Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 1, 2020 Share Posted June 1, 2020 (edited) The problem is the presence of the character in the input buffer can be sufficient to cause unpredictable results. Just try poking it to a screen location then entering a command. e.g. POKE 40230,219 Then on the line where it appears: DIM A$(40) : A$="12345 _ 67890 " : B=1 (the _ represents where the inverse Esc is) The A$ string will only assume the value of the characters up to the inverse Esc. The B=1 statement will be ignored. So, you can't really do a literal string assignment, you've got to build it by using CHR$ or other means. Edited June 1, 2020 by Rybags 2 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 1, 2020 Share Posted June 1, 2020 (edited) I for one am glad that it functions as it does, there is more than one way to get the standard output of screen text correctly formatted, and yet we can still use a form of return to have the Atari enter it's own code. Edited June 1, 2020 by _The Doctor__ 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.