1INIT 2UTF8 1 3WANTSTATE gme 4 5!Insert/Replace Mode 6RESET 7 erase 0..25,0..80 8 ?cursor = 0,0 9PUSH "AC\e[DB" 10 putglyph 0x41 1 0,0 11 putglyph 0x43 1 0,1 12 putglyph 0x42 1 0,1 13PUSH "\e[4h" 14PUSH "\e[G" 15PUSH "AC\e[DB" 16 moverect 0..1,0..79 -> 0..1,1..80 17 erase 0..1,0..1 18 putglyph 0x41 1 0,0 19 moverect 0..1,1..79 -> 0..1,2..80 20 erase 0..1,1..2 21 putglyph 0x43 1 0,1 22 moverect 0..1,1..79 -> 0..1,2..80 23 erase 0..1,1..2 24 putglyph 0x42 1 0,1 25 26!Insert mode only happens once for UTF-8 combining 27PUSH "e" 28 moverect 0..1,2..79 -> 0..1,3..80 29 erase 0..1,2..3 30 putglyph 0x65 1 0,2 31PUSH "\xCC\x81" 32 putglyph 0x65,0x301 1 0,2 33 34!Newline/Linefeed mode 35RESET 36 erase 0..25,0..80 37 ?cursor = 0,0 38PUSH "\e[5G\n" 39 ?cursor = 1,4 40PUSH "\e[20h" 41PUSH "\e[5G\n" 42 ?cursor = 2,0 43 44!DEC origin mode 45RESET 46 erase 0..25,0..80 47 ?cursor = 0,0 48PUSH "\e[5;15r" 49PUSH "\e[H" 50 ?cursor = 0,0 51PUSH "\e[3;3H" 52 ?cursor = 2,2 53PUSH "\e[?6h" 54PUSH "\e[H" 55 ?cursor = 4,0 56PUSH "\e[3;3H" 57 ?cursor = 6,2 58 59!DECRQM on DECOM 60PUSH "\e[?6h" 61PUSH "\e[?6\$p" 62 output "\e[?6;1\$y" 63PUSH "\e[?6l" 64PUSH "\e[?6\$p" 65 output "\e[?6;2\$y" 66 67!Origin mode with DECSLRM 68PUSH "\e[?6h" 69PUSH "\e[?69h" 70PUSH "\e[20;60s" 71PUSH "\e[H" 72 ?cursor = 4,19 73 74PUSH "\e[?69l" 75 76!Origin mode bounds cursor to scrolling region 77PUSH "\e[H" 78PUSH "\e[10A" 79 ?cursor = 4,0 80PUSH "\e[20B" 81 ?cursor = 14,0 82 83!Origin mode without scroll region 84PUSH "\e[?6l" 85PUSH "\e[r\e[?6h" 86 ?cursor = 0,0 87