Page 1 of 1
Memo Pad Pro! Pro, for proportional :)
|
Posted Sat Nov 21, 2009 2:24 AM
|
|
Yeah, I know, the last thing in the world anybody needed was an updated version of Memo Pad, but this is sort-of a research project. I wanted to see proportionally-spaced text on the Atari, so took a shot at a simple implementation before beginning work on a more ambitious program. My real Atari is in a box 450 miles northwest of here, so I can only verify that this works okay in Atari800Win, both in OS-B and XL/XE modes.
I spent a couple nights just trying to get the character drawing as fast as possible, and I think I did pretty good, though I can still probably shave a few cycles off somewhere. No disk I/O, but it should print alright, which is almost as good with an emulator or an SIO2PC setup. Anyway, screen shot is attached for your viewing pleasure, and here's a link to the .xex file: http://drop.io/memo_pad_pro_9bk |
|
|
Posted Sat Nov 21, 2009 4:08 AM
|
|
Posted Sat Nov 21, 2009 11:44 AM
|
|
I'd like to see this as well. Any homebrew is a good one! Yours looks nice. What are some of the 'extended' features going to be included in the more ambitious program? Cause that one is pretty impressive. I'd run it on real hardware for real.
I like this: it's really fast, too. Looking forward to seeing more features added to the program.
one thing though as i type, some keys presses are missed, and it seems that every keypress screen refresh is taking place - if its nessesary or not - this would greatly improove the speed it operates |
|
|
Posted Sat Nov 21, 2009 12:21 PM
|
|
I want to try and put together a sort-of simplified Swyft/Canon Cat type editor with navigation via "Leap"s, inline calculation, outline editing, and some other things. Proper cut/paste, disk I/O, and handling of large files are my immediate priorities, though. I've been trying to figure out ways to create virtual memory pools using extended banks of RAM in order to edit extremely large files (32K, 48K, etc). There are lots of overheads, though, and it gets complex and slow very quickly when you're dealing in terms of a text editor. You'll be onto a winner if you can crack something like that. The other facilities sound advanced and ambitious, too.
I have a few bugs in there, still! I'm not catching keystrokes properly apparently because there's some kind of timing issue when the edit buffer is too small and you're at the beginning of a line. Also, you'll start to lose keystrokes as you insert text in front of larger and larger buffers. And I have another bug in there where requests for a full redraw of the screen are piling-up when they're not supposed to. The good news is that all of these are fixable, and will be fixed. I just sorta bashed this out to see if I could. I would strongly advise the use of a non-linear text buffer, a la The Last Word. Arrange your text so the free space is always in front of the cursor. Text behind the cursor is moved to the low end of the buffer, pulled from the top of the buffer as you move through it and vice versa. Editing will be super-fast regardless of file size. "Requests for a full redraw" is interesting. Do you have some kind of queueing system? I'm currently trying to work out how to implement a full-scale word processor using proportional fonts, so if you have any cycle-saving ideas to share, I'd be most appreciative! This post has been edited by flashjazzcat: Sat Nov 21, 2009 12:23 PM |
|
|
Posted Sat Nov 21, 2009 4:16 PM
|
|
looks like a starting version of emacs... you have a atr or exe to try on my real atari? Here's an .atr version with the hiccuping keyboard and the too-frequent screen updates fixed: http://drop.io/MPP_ATR
I've been trying to figure out ways to create virtual memory pools using extended banks of RAM in order to edit extremely large files (32K, 48K, etc). There are lots of overheads, though, and it gets complex and slow very quickly when you're dealing in terms of a text editor. You'll be onto a winner if you can crack something like that. That's way beyond my knowledge level right now Quote I would strongly advise the use of a non-linear text buffer, a la The Last Word. Arrange your text so the free space is always in front of the cursor. Text behind the cursor is moved to the low end of the buffer, pulled from the top of the buffer as you move through it and vice versa. Editing will be super-fast regardless of file size. Yeah, that's absolutely on my to-do list for the actual editor, although I'm still trying to puzzle out how to actually implement it. Quote "Requests for a full redraw" is interesting. Do you have some kind of queueing system? I'm currently trying to work out how to implement a full-scale word processor using proportional fonts, so if you have any cycle-saving ideas to share, I'd be most appreciative! It's nothing sophisticated at all. Right now the line-drawing routine starts at the current line and draws to the bottom of the screen, but it checks a flag when it's first called to see if it should start from the top line because the screen's been 'broken'. There are a few circumstances where that flag is set, and early-on my highly convoluted program-flow had it getting cleared before it should have. My incredibly crufty solution at the time was to have it get incremented/decremented rather than set/cleared so that requests for redraw could queue up. I'm back to setting/clearing now that I've got things happening in more or less proper order. For a while I was trying to work out clever ways of 'marking' areas of the screen that needed updating, to save character-drawing cycles, but I eventually got the character drawing fast enough so that drawing a whole screen wasn't such an abhorrent time-suck anymore. Still, I would like to work on clever ways of avoiding redraws when not necessary, but I don't have any really useful information to that effect right now. |
|
|
Posted Sun Nov 22, 2009 8:11 AM
|
|
Posted Sun Nov 22, 2009 8:23 AM
|
|
looks interesting, i tried it on my 800XL (bone stock) seems to work pretty well, would make a nice text processor, (vi controls? :') the currently edited line flickers a little, but nothing that is too obtrusive, full screen redraw takes a touch over a second, but didnt lose any keys while typeing during the refresh... but does print new characters on the same last line until refresh can get a new line open down at the bottom... interesting how the b/s delete key doesnt delete the letters if you b/s too fast until you are done hitting it... overall seems like a good start...
sloopy. |
|
|
Posted Sun Nov 22, 2009 1:16 PM
|
|
Posted Sun Nov 22, 2009 7:14 PM
|
|
I have noticed that CONTROL+SHIFT+ letter doesn't jump to several of the Alphabets (i.e.) A, B, and C for sure posibly more.
Is there ever going to be a LOAD feature. I have tried getting different COLORS, but have not cycled to anything better than the original.. |
|
|
Posted Sun Nov 22, 2009 7:42 PM
|
|
Posted Sun Nov 22, 2009 7:54 PM
|
|
Posted Sun Nov 22, 2009 8:19 PM
|
|
Posted Sun Nov 22, 2009 8:39 PM
|
|
Posted Sun Nov 22, 2009 11:13 PM
|
Page 1 of 1

Sign In
Register
Help



MultiQuote





