flashjazzcat Posted March 7, 2013 Author Share Posted March 7, 2013 (edited) I've just replicated your exact set-up, Konrad, on a U1MB / SIDE equipped 1200XL, and I haven't been able to reproduce the crashing / screen garbage / phantom file issues. I've got S_VBXE.SYS, CON.SYS, and COMEXE.SYS installed, all the files in the exact same folder structure, the same SDX path, LW executable in C:>DOS, all the config files in the program folder, etc, etc. I can load files from the command line with "LW FOOBAR.TXT", and if said file doesn't exist, "File not found" is reported. Here's a build with a few cosmetic fixes, anyway: TLWVBXE070313A.zip I wasn't able to reproduce the intermittent disappearing loading screen today, although I have witnessed that issue. Cause unknown yet and I can't repeat it. The only issue I've noted is that if you start TLW "LW /?" to display the usage information while in 80 column console mode, the "X" command seems to display the screen RAM which was present before "X" was invoked. Not quite sure what's going on there yet. Next step would be to send me the exact executable and configuration files you're using so I can test them on this machine. Edited March 7, 2013 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
drac030 Posted March 7, 2013 Share Posted March 7, 2013 I have commented out the "Path" line in LW.SYS and it got better: the LW now runs in VBXE mode even when the current drive/dir is different than that one where the program lives. The rest of the problems remained, although today (after changing the LW.SYS though) I can't reproduce the black crash. For the exact contents of the binary directory, I of course can pack everything and send to you, but for starters maybe it will be enough to say that I just grabbed the ATR file from the first post and replaced two files later. I will try the new binaries and tell you how they behave. For the settings, you may blame me for not reading docs, probably, but I got to changing these settings in SYS and CFG while I was looking for a way to stop TLW from trying to load something from D1: (which I did not have online). The configuration... maybe it would be easier if CONFIG.SYS settings overrode their counterparts in CFG/SYS? Also: I do not understand why the variables LWDRIVE and LWPATH and LWSYS are separate? If only LWPATH is set, could not the program assume that LWDRIVE is just the one LWPATH points to, and LW.SYS is located in the directory pointed to by LWPATH as well? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted March 7, 2013 Author Share Posted March 7, 2013 (edited) We'll definitely have to avoid mixing and matching VDR files and EXEs. The VDR file is basically an overlay executable. If problems persist, please pack everything up and send it across if you wouldn't mind. Just let me know how you get on with the new files. As for coalescing configuration options: it sounds sensible enough. I probably went all-out overkill on trying to predict every possible configuration scenario with every possible DOS. With the benefit of some real-world usablity data, though, I think we can rein it back a bit. From my own point of view, I set everything with environment variables in SDX, and have never once used the command line switches. Salient point is that this stuff was difficult to put into words when I was writing the manual. Edited March 7, 2013 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 13, 2013 Author Share Posted April 13, 2013 I wonder how well used TLW's file manager is... anyway, I was using it to bulk-copy source code files from a floppy disk this evening, straight onto an ATR on a SIDE2 cart: Most of the disks are plagued with bad sectors, so I figured I'd better rescue this stuff now. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 17, 2013 Author Share Posted April 17, 2013 Finally managed to get expanding tabs working in a word-wrapping editor after all these years: Ignore the tab line: it will be removed altogether shortly, and if you turn off the word-wrap you get a sideways scrolling window onto a 240 column document just as before. Just something to play with while I wait for my interview, but the TLW skin will eventually go (to replaced by a text mode drop-down menu interface) and the program will use the SDX RAWCON vector where applicable, meaning it will automatically work with 80 column drivers like S_VBXE.SYS. The screen refresh has been completely rewritten. I'm hoping this will form the basis of a nice text editor for editing source code and such like on the A8. The split buffer model also - it occurs to me - lends itself well to a virtual memory system, permitting the editing of files of almost limitless size. 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 19, 2013 Author Share Posted April 19, 2013 Almost fully debugged now. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 27, 2013 Author Share Posted April 27, 2013 (edited) Please excuse the nonsense typed and various glitches while doing so: http://youtu.be/HJTlski4uA0 In the early stages (note tiny buffer size), but should prove useful when done. Note this one will automatically scale up to hardware 80x24 text mode when S_VBXE is present (or RC_GR8, for that matter). Edited April 27, 2013 by flashjazzcat 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 16, 2013 Author Share Posted June 16, 2013 Discovered a rather useful optimisation recently while working on the other text editor, and I've incorporated it into The Last Word: LW33RC160613.ZIP The editor is quite a bit faster, especially in software 80 column mode. For those interested, the change made was to compare the character about to be written to the screen with the frame buffer cache outside of the put character routine instead of inside of it... if the same character is already on the screen (and thus doesn't need to be rendered), this completely eliminates the 12 cycle JSR / RTS overhead associated with calling the put character routine. Other changes: SDX formatter bug corrected in VBXE 80 column mode LWSYS environment variable and /S switch completely removed (at KMK's suggestion; hopefully this goes some way to simplifying configuration, although I'm sure more changes can be made) Stage 1 VBL refreshing of hardware colour registers reinstated, after I noticed the occasional glitch when pressing keys (presumably some contention between the deferred VBL and the keyboard interrupt). This ensures screen colours remain steady at all times. Another thing I've discovered is that it's wise to have PROGBAR OFF in LW.SYS when using SDX with Aspeqt / APE. The progress bar causes SIO operations to hang frequently when loading files and reading directories over SIO2PC. Not such an issue with local drives, however, and not an issue at all with hard disks. Regarding the VBXE driver: current behaviour is to seek LW.VDR in the current path (LW's, that is) regardless of whether the video driver filename is specified in LW.SYS. As such, LOADVDR [name] is at the moment merely a way to change the default name of the video driver being sought. If it would be preferable NOT to seek a video driver during startup unless LOADVDR [name] appears in LW.SYS, please let me know. The release proper of this version will pretty much be end-of-life for this strain of the word processor. Any subsequent versions (including the word processor for the GUI) will take a radically different approach as far as the UI and memory organisation are concerned. Any non-GUI text editors / word processors I write in future will use the S_VBXE / RC_GR8 drivers, subject to some enhancements in the latter (such as the ability to do windowed scrolling and load different fonts in the RC_GR8 driver; LW is dependent on the ability to use custom soft-fonts). Recent experiments with both drivers have shown them to perform excellently well in the context of a text editor. 2 Quote Link to comment Share on other sites More sharing options...
drac030 Posted September 6, 2015 Share Posted September 6, 2015 It looks like there is a small bug in the Last Word (the version linked to the post above, and LW33Test7 on your website and a pre-Test7 one, I did not check earlier versions). Namely the program overwrites zero page locations $60-$62, i.e. the F-keys definition table pointer and the OS' PAL/NTSC indicator. It can be seen in SysInfo, in "System"->"System summary" and "Memory"->"Memory usage sumary". I was observing from time to time that the SI reports the values are wrong, but was not able to figure out which program changes them. Until today Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 6, 2015 Author Share Posted September 6, 2015 It looks like there is a small bug in the Last Word (the version linked to the post above, and LW33Test7 on your website and a pre-Test7 one, I did not check earlier versions). Namely the program overwrites zero page locations $60-$62, i.e. the F-keys definition table pointer and the OS' PAL/NTSC indicator. It can be seen in SysInfo, in "System"->"System summary" and "Memory"->"Memory usage sumary". I was observing from time to time that the SI reports the values are wrong, but was not able to figure out which program changes them. Until today Thanks Konrad. This appears to be down to an unwise (i.e. desperate) choice of pointer location for the Printf routine. I'll see about fixing it. Marius also helped me find a rogue-write issue in the colour change dialogue which I already fixed in an unreleased version. Since I'm receiving a fair bit of interest and feedback on this program at the moment, I'll endeavour to find time to finish version 3.3. 4 Quote Link to comment Share on other sites More sharing options...
Marius Posted September 6, 2015 Share Posted September 6, 2015 The last few months I have been using TLW rather intensively. It's a very powerful and user friendly word processor. It's amazing that we have such a powerful piece of software on our little atari. Thanks FJC! 3 Quote Link to comment Share on other sites More sharing options...
fujidude Posted September 6, 2015 Share Posted September 6, 2015 Yeah, it's a pretty good program. It has recently gotten even a lot more convenient for me to use as a general purpose text editor on the A8 after I discovered the information about the environment variables it makes use of when I was perusing the manual some more. Chiefly LWSDXDEV and LWPATH. Now I can launch the program from any folder and have it locate the VBXE overlay correctly. Yeah! 1 Quote Link to comment Share on other sites More sharing options...
+MacRorie Posted September 7, 2015 Share Posted September 7, 2015 Indeed, I used it to transcribe an episode of Antic Podcast recently and was amazed at the robustness of it. The ability to launch it from anywhere and to edit/type so easily is a nice feature. During the typing, I found myself able to do just about anything I would have been able to do on the Mac, so it will feature more and more use. 2 Quote Link to comment Share on other sites More sharing options...
drac030 Posted September 9, 2015 Share Posted September 9, 2015 Thanks Konrad. This appears to be down to an unwise (i.e. desperate) choice of pointer location for the Printf routine. I'll see about fixing it. Marius also helped me find a rogue-write issue in the colour change dialogue which I already fixed in an unreleased version. Since I'm receiving a fair bit of interest and feedback on this program at the moment, I'll endeavour to find time to finish version 3.3. That is cool, the LW is one of the programs I routinely use on my Atari. I noticed one more problem: the program, while quitting to DOS, sets the VBREAK $0236 vector to $C092, and does it even if that address is not correct for the particular config. I.e. it sets blindly the address which is valid for XL OS, instead of restoring the value of the vector. The result is that if there is a TSR intended to handle the Break key presses, it will stop working. Worse, on a customized OS with different internal addresses, hitting the Break key after quitting the LW may even result in a crash. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 9, 2015 Author Share Posted September 9, 2015 I noticed one more problem: the program, while quitting to DOS, sets the VBREAK $0236 vector to $C092, and does it even if that address is not correct for the particular config. I.e. it sets blindly the address which is valid for XL OS, instead of restoring the value of the vector. The result is that if there is a TSR intended to handle the Break key presses, it will stop working. Worse, on a customized OS with different internal addresses, hitting the Break key after quitting the LW may even result in a crash. This really is puzzling, since - looking at the source code in front of me - the program caches the original value of VBREAK on startup and restores it prior to quitting to DOS. I can find no (perhaps conflicting) hard reference to the value $C092 anywhere either. Is this problem definitely present in the most recent test build, or in some older version? Quote Link to comment Share on other sites More sharing options...
drac030 Posted September 9, 2015 Share Posted September 9, 2015 (edited) It is the one linked to the post #33 here, LW.EXE 35385 bytes. EDIT: I have downloaded the TEST7 from your website and see now that the TEST7 is newer. And it indeed does not have this problem. So disregard it, I simply used the older version by mistake. Edited September 9, 2015 by drac030 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 9, 2015 Author Share Posted September 9, 2015 (edited) It is the one linked to the post #33 here, LW.EXE 35385 bytes. Thanks. It appears fixed in the version on my website (test 7, 35,426 bytes, which I have just checked). Sorry they're not more clearly versioned. Edited September 9, 2015 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
NuY Posted May 13, 2019 Share Posted May 13, 2019 (edited) No problem - glad to assist with enquiries since LW has grown into rather a complex application. I'm aware that the advanced stuff can be hard going until you get the hang of it. Regarding the default directory: try ending the LWPATH with a semicolon. This is how you tell SDX to search the currently logged path, and I wanted to make LW work the same way. LW regards the currently logged drive / path as the one logged on its disk menu (this was - ironically - following a feature request to make it that way) rather than necessarily "D:" (DOS's currently logged directory). So - try the trailing semicolon out and see how it works for you. Meanwhile, I'll look into this area of the source code more closely and ensure that pathing is handled in a sensible way (it's not an area of LW that I've revised in over a year). Let me know if the above suggestion fits your needs. If not, we'll take another look at it. As I finally resurrected my real kit, I figured I'd resurrect my Altirra set up too! Had some more issues getting LW to work with VBXE again (in as much as I couldn't get it working at all this time) so I thought I'd let you know the path I took and how I got it working: - Fresh ATR of 3.21b SDX version - Fresh 3.3test7 exe and vdr copied on to that ATR - At this point With SDX 4.44 cart, booting with disk in D1 and running X LW.EXE gives software 80 column mode - Added "loadvdr LW.VDR" to LW.SYS, no change - Scratched my head a few times - Read your post that I quoted - Added a trailing semicolon to the path line in LW.SYS - Celebrated because it worked, 80 column mode in VBXE running Thanks again for this excellent piece of software and your help from er, several years ago! Edited May 13, 2019 by NuY 6 Quote Link to comment Share on other sites More sharing options...
leech Posted May 4, 2020 Share Posted May 4, 2020 On 5/13/2019 at 1:11 PM, NuY said: As I finally resurrected my real kit, I figured I'd resurrect my Altirra set up too! Had some more issues getting LW to work with VBXE again (in as much as I couldn't get it working at all this time) so I thought I'd let you know the path I took and how I got it working: - Fresh ATR of 3.21b SDX version - Fresh 3.3test7 exe and vdr copied on to that ATR - At this point With SDX 4.44 cart, booting with disk in D1 and running X LW.EXE gives software 80 column mode - Added "loadvdr LW.VDR" to LW.SYS, no change - Scratched my head a few times - Read your post that I quoted - Added a trailing semicolon to the path line in LW.SYS - Celebrated because it worked, 80 column mode in VBXE running Thanks again for this excellent piece of software and your help from er, several years ago! Well, now that I'm in the process of figuring out how to get things onto the APT hard drive partitions to test this out on my newly fixed Atari SC1435... This should come in handy! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.