Willard, > Huh? I'm just another failed CS student who never finishes anything.
Looks to me like you’re still diligently hacking away, pal. :-) I’ve left so much unfinished, dude. I have to-do lists older than my children (I’m 64). I could bundle ‘em, insert page numbers, and finally have a novel, useless but finished. Future to-do lists could become sequels. (I may have found my calling!) Anyhow … I posted that RAM/ROM map file earlier tonight, as you’ve probably seen upstream of this message. (At least one thing's finished!) Still happy to e-mail it should you have trouble downloading. Ideally, I’d like to add the handwritten notes I added to my printed copy of this file, but that’s not likely, at least not soon. First, I’d have to find the printed copy. LOL It was fun looking over many of the files I’ve stored away. LOTS of unfinished stuff, and in particular my Holy Grail, a 3D spreadsheet. I may have already written about it here a long time back. Basically, I was part of a team gathered to write the “Avant!" ROM destined to be the next generation after Super ROM and Ultimate ROM II. My particular piece of the project was a Super 3D Spreadsheet (no idea what the final name might be; I called it 3DSS and sometimes DDDSS while coding). This would be the ultimate Lucid Killer. It was, as the name implies, a 3D spreadsheet, multiple worksheets stacked as pages, all interactively linked. It had to be FAST!!! So I decided to take as direct control as possible of keyboard input, cursor control, and screen drawing. I learned a lot (forgotten much now) and managed to do some pretty cool things. One thing that excited me was some wicked fast display. I could highlight a spreadsheet cell with an inverse cursor (light text on dark background, like highlighting a word in the TEXT app) then press and hold an arrow key, and that cursor would select the next cell, and the next ... move to the next row and continue on. It would *scream* across that screen —fun to watch. I also devised a way to have up to 64 function keys by using the normal 8 positions in conjunction with modifier keys (CTRL-F1…F8, GRPH-F1…F8, CODE-F1…F8, and so on); press the modifier key, and the labels would instantly reflect the change. PCSG did one helluva job in designing a sparse matrix array for their Lucid spreadsheet. Unlike other spreadsheets, sparse matrix used no RAM to store empty cells. You could have a much larger spreadsheet than other methods allowed. This was awesome, and I used the same method. There were other innovations I was trying to develop and can’t currently recall. Since the project ran out of funding before it could be finalized, I imagine it’s okay now to post some of what I devised, so folks here can extract what they want from it. I imagine the people could take it way beyond my stumbling, fledgling efforts. I’ve rambled enough for now, I think. ;-) Let me know what I might do to lend a hand in your adventures. Best, — Nuge — On Apr 5, 2017, at 9:50 PM, Willard Goosey <[email protected]> wrote: > On Wed, 5 Apr 2017 16:25:23 -0400 > Mike Nugent <[email protected]> wrote: > >> LOL I think it’s the other way around these days. > > Huh? I'm just another failed CS student who never finishes anything. > >> I took another look, and it appears the address Tandy gave you is >> where it checks to see whether CTRL-C or CTRL-S is pressed, setting >> the carry flag if so. Here’s what this area of ROM looks like in my >> notes: >> >> ——— >> KEYX >> 7270H - Check keyboard queue for pending characters >> Exit: >> A - Destroyed >> Z flag - Set if character pending >> C flag - Set if break is present >> Note: called via CHSNS > > Works as advertised. >> >> CTLCHK >> 7283H - Check for break (Control C) or wait (Control S) >> Exit: >> A - Destroyed >> C flag - Set if Control C or S >> Z flag - Set if no control C or S >> Note: called from KEYX (7270) >> > Experimentally, it looks to me that this returns Z set if no (^C or ^S) > or Z clear if (^C or ^S). I can't get it to return C set ever. > > >> BRKCHK >> 729FH - Check to see if SHIFT BREAK is being pressed. >> Exit: >> A - Destroyed >> Z flag - Set if shift break is being pressed >> C flag - Set if shift break is being pressed > > Yes, this one sets both Z and C! As advertised. >> >> 72B1H - Scan BREAK, CAPS, NUM, CODE, GRAPH, CONTROL, and SHIFT key >> column of keyboard. Reset the bit in the A register that corresponds >> the key being pressed >> Exit: >> A - Each reset bit corresponds to a key being pressed >> (BREAK=bit 7, CAPS=bit 5, etc.) > > And I just plain didn't have this one! >> ——— >> >> I think I’ll have to post this version of the maps somewhere soon. >> Just have to deal with some urgent business first. Meantime, hoping >> the above is helpful. > > Oh yes. You're a lifesaver! >> >> I’m also going to send a copy (about 93Kb) to your sdc.org address if >> you say it’s okay. > > That would be awesome! Thanks! > > >> >> — Nuge — >> > Thanks, > Willard
