First and foremost, lack of usable memory. The editor buffer had to be capped at 16Kb because of programs size limitations, namely that the saferam is shared between the program code, the BSS (containing the buffer), and the heap. I moved the buffer to vram because then it can be one continuous, relatively safe, section of memory. However, this means I can't do 8bpp double buffering, and the graphics are horribly choppy with single buffering. 4bpp rewrite = up to 4 buffers (two used for the editor buffer and two for graphics) = can make smooth graphics with less memory used.
Additionally, column major mode = no diagonal line.
Also on the plate are rewrites to the way it renders the text; currently it draws every character on the screen after every keypress, causing the editor to become noticeably slower as the screen fills up. I'd like to fix that, and using 4bpp means the bits and pieces I need to store take up less space, so I can keep more around. For example, the status bars don't change, so I can just draw them once to a different buffer and copy them onto the screen any time they need to be drawn. (They get destroyed on the screen by the menus, so I can't just keep them around).
Some other things need to be reworked as well, like the rc file parsing. I'm not happy with how fragile it is, and how oddly specific certain aspects of the file have to be, like the spacing.
All in all, I've decided it's easier to rewrite the whole thing and pull chunks of code when necessary from the original rather than to start with the original and redo certain portions.
Additionally, column major mode = no diagonal line.
Also on the plate are rewrites to the way it renders the text; currently it draws every character on the screen after every keypress, causing the editor to become noticeably slower as the screen fills up. I'd like to fix that, and using 4bpp means the bits and pieces I need to store take up less space, so I can keep more around. For example, the status bars don't change, so I can just draw them once to a different buffer and copy them onto the screen any time they need to be drawn. (They get destroyed on the screen by the menus, so I can't just keep them around).
Some other things need to be reworked as well, like the rc file parsing. I'm not happy with how fragile it is, and how oddly specific certain aspects of the file have to be, like the spacing.
All in all, I've decided it's easier to rewrite the whole thing and pull chunks of code when necessary from the original rather than to start with the original and redo certain portions.