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.

Current progress.
Right now, the screen is in 4bpp mode, column major.
The line drawing routine is a fixed point efla written in C, and which will soon be replaced with a faster assembly one.
The rest of the routines, such as double, triple, and quadruple buffering, blitting, and pixel operations are written in assembly.
Also if anyone can help me turn this into a clib-like dll afterward that would be great
CEdit will now soon have a computer-side counterpart for editing and/or creating files that work with the calculator.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 3 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement