i did something like this.
The position is defined by a pointer at insert char
you have a refresh screen routine.
In fact i forgot the delete button

Sorry about that.
You can only move right until you reach the end of the typed text (at least it is supposed to be this way and then the
cursor vanishes. Else the letter highlighted is the cursors position.
The presentation function would take file offset of the letter in the upper left corrner of screen and cursor offset
It works nearly this way. It uses the current line and calculates the front most char by the current cursor position.
In fact it should work like edit in dos. Sorry if it doesn't.
I won't do my own fonts since this makes the thing much more complexer and, in my opinion too complex
for an editor. I'd also have to redo the casio font and some chars need a width of 5 and height of 6
So you'd only get 1 more line and I think this doesn't justify the imense work you need for this.
The delete functions will be the next thing i do.
I won't do copy & paste since this is way to complicated for such a prog and, in my opinion not worth the work.
About the right cursor. Tell me how I can reproduce this since it works for me. Maybe I already fixed this but
I've no problems. If I'm at the end of a document it simply doesn't move any further and the new chars are appended.
I've a question about your roe disk. Where in RAM does it start
and has it the same format as romdisk?
If you have any more suggestions please tell me.