+InsaneMultitasker Posted September 15, 2023 Author Share Posted September 15, 2023 9 minutes ago, RickyDean said: Oh @InsaneMultitasker, going into your Github above, as I move to your wiki at https://github.com/horizonramdisk/Horizon-Ramdisk-ti994a/wiki, I find an issue. When I click on the hotlink GenCFG - Geneve configuration/formatter with disk and 'ramHD' partition support; see MDOS 7.30 release (https://www.9640news.com/mdos/mdos-7-30-released/) I get a page not found report. FYI. Thanks for your contributions to our hobby. Good catch. I removed the link t0 v7.30 and updated the forum links in the GenCFG section. The old links still resolved e.g.,"atariage.com\forums" but it seemed better to refresh with the correct construct "forums.atariage.com". 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 7, 2023 Author Share Posted October 7, 2023 @9640News - I was cleaning up my documentation paperwork today. I have a few notes that I wrote in my copy of the GenREF DSR manual that are not represented in the published version. Sharing them here for you to review and update the manual, where appropriate. Genref manual for DSR - page 4, Bit 4 appears to be flipped. I show that 1 is for variable, 0 for fixed length. (also see screenshot from TI documentation) - page 13, the character count refernce is missing from the PAB format. I believe bytes 12 and 13 are the count for variable records. Also, see page 12 (character count) for the general description AND note regarding rec length for apps like Extended BASIC merge, which may specify a record size larger than the file's record length. - page 29, during MDOS 7.xx work, it was determined that the directory routines use a special attribute ">54" to signify that a directory exists during the status operation. I noted this at the bottom of my page, along with the referenced files (L8.OPEN&LS2 and TIPI.LEVEL9). - page 30, bit 4 is the archive/backup flag (1=modified); bit 5 is emulate (when set to 1); bit 6 is reserved/unused - page 31, byte 8, my note states that this 2-byte value is not always used by MDOS as described. suggest adding a cautionary note until/unless you can verify otherwise. - page 31, descriptions for bytes 10 and 12 are reversed: 12 is date of file creation, 10 is time of file creation. - page 31, descriptions for bytes 14 and 16 are reversed: 14 is time of upate; 16 is date of update. - page 31, bytes 18 and 19 might not be implemented. I seem to recall that our tests showed that MDOS doesn't currently support a file beyond 65535 sectors, I suppose this should be confirmed or at least noted as unsupported. 2 Quote Link to comment Share on other sites More sharing options...
+9640News Posted October 7, 2023 Share Posted October 7, 2023 @InsaneMultitasker I printed out your notes and will make some updates to the manual. Thanks. 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 8, 2023 Author Share Posted October 8, 2023 4 hours ago, 9640News said: @InsaneMultitasker I printed out your notes and will make some updates to the manual. Thanks. Sounds good. I didn't find any notes in the other GenProg reference guides, besides some scribbles to help me understand the virtual page map. Some day, I will try to write up information specific to using the DSR XOPs from within XB under GPL mode and the routines to locate the correct virtual page to perform CPU memory file IO using "call link" assembly routines under Advanced BASIC. 2 Quote Link to comment Share on other sites More sharing options...
+dhe Posted October 8, 2023 Share Posted October 8, 2023 8 hours ago, InsaneMultitasker said: GenProg reference guides, If you want to be loose with the definition, I'd like to see your notes on using GPL in 80 column mode added - I don't think I've seen that done anywhere else. 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 8, 2023 Author Share Posted October 8, 2023 5 hours ago, dhe said: I'd like to see your notes on using GPL in 80 column mode added You'll have to elaborate on this request as there are various programs using 80 columns in /4A mode..? Quote Link to comment Share on other sites More sharing options...
+dhe Posted October 8, 2023 Share Posted October 8, 2023 Maybe I'm mis-remembering, but didn't you modify the infocom interpreter to run in 80 columns? Was that GPL or pure assembler? Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 8, 2023 Author Share Posted October 8, 2023 9 minutes ago, dhe said: Maybe I'm mis-remembering, but didn't you modify the infocom interpreter to run in 80 columns? Was that GPL or pure assembler? You might be thinking of the Adventure cartridge. The GPL (/4a TIMODE) interpreter modifies the "console" VWTR routine. Since GPL by nature uses the 9918 video modes, the bits to set the 9938 modes e.g. Text II 80 column mode were masked out by the interpreter. It took me a while to realize what was happening. Here is the Adventure 80 thread though I don't recall where my GPL-related comments are hiding and I don't recall if GPL 7.40 addresses this problem. The caveat is that changing the mask could break programs that don't strictly follow the 9918 manual. 2 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted October 8, 2023 Share Posted October 8, 2023 52 minutes ago, InsaneMultitasker said: You might be thinking of the Adventure cartridge. The GPL (/4a TIMODE) interpreter modifies the "console" VWTR routine. Since GPL by nature uses the 9918 video modes, the bits to set the 9938 modes e.g. Text II 80 column mode were masked out by the interpreter. It took me a while to realize what was happening. Here is the Adventure 80 thread though I don't recall where my GPL-related comments are hiding and I don't recall if GPL 7.40 addresses this problem. The caveat is that changing the mask could break programs that don't strictly follow the 9918 manual. Standard TI console BASIC is one of the violators. . .that failure was a problem for all of the 80-column cards BITD. 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 17, 2023 Author Share Posted October 17, 2023 A few more updates/changes for the next OS release, tentatively later this year: - Fixed a particularly hard-to-find bug that I discovered on Chicago Faire day. The SCSI powerup routine was not clearing the common buffer used by SCSI/Horizon/IDE whenever a SCSI card was not in the system. The most common problem was intermittent access to the Horizon hard drive partitions; the drive parameter table was invalid, since it contained values set 'randomly' when the system was turned on. The powerup logic has been corrected and tested. - SCSI routines now check for the presence of the SCSI card. Added a test to the SCSI low level routine; the OS no longer locks up if you inadvertently try to access a non-existent SCSI card. - Floppy controller powerup was testing for the presence of a card, however, the flag was reset if a TIPI was in the system. Fixed the powerup routine and then added a test to the low level code. OS no longer executes the floppy code when there is no FDC present. - Floppy format code has been tested with above correction; attempting to format a non-existent FDC results in an error. - - Removed old SCSI code and labels. Cleaned up some of the statements. Removed comments that were no longer relevant or accurate. - Change Directory command now validates the directory. (noted earlier) - Fixed VDP header setup in /4A mode 3 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 22, 2023 Author Share Posted October 22, 2023 The attached DEVELOPMENT test version of the OS contains the fixes noted in the previous post. I would appreciate some feedback regarding the Change Directory (CD) validation enhancement. There are still a few tasks that @9640News and I are working through before an official point release is posted. SYSTEM-742 2 1 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted October 23, 2023 Share Posted October 23, 2023 7 hours ago, InsaneMultitasker said: The attached DEVELOPMENT test version of the OS contains the fixes noted in the previous post. I would appreciate some feedback regarding the Change Directory (CD) validation enhancement. There are still a few tasks that @9640News and I are working through before an official point release is posted. SYSTEM-742 136.13 kB · 2 downloads I noticed the change directory enhancement. I like the fact that it verifies if the directory exists and if not, it lets you know. Great feature! I have also been exchanging emails with Tim over the issues they discovered with the IDE card and MDOS. I can verify that their fixes work flawlessly on real hardware. I have tested with original IDE cards with BQ4847, BQ4852 and the 838-RTC with BQ4802 5v version and it works great. I was successfully able to copy over 238mb of files using GDM2K with no issues. Boots from the IDE and is easy to setup.. 2 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 23, 2023 Author Share Posted October 23, 2023 15 hours ago, Shift838 said: I noticed the change directory enhancement. I like the fact that it verifies if the directory exists and if not, it lets you know. Great feature! I have also been exchanging emails with Tim over the issues they discovered with the IDE card and MDOS. I can verify that their fixes work flawlessly on real hardware. I have tested with original IDE cards with BQ4847, BQ4852 and the 838-RTC with BQ4802 5v version and it works great. I was successfully able to copy over 238mb of files using GDM2K with no issues. Boots from the IDE and is easy to setup.. Thanks, the verification seems reasonably quick and works with floppies too. Based on our exchanges, I documented that you are disabling the external interrupt in the v3 cards and if we need to add the IDE card to the interrupt handler at a later date, we can do so. 3 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 2, 2023 Author Share Posted November 2, 2023 I recently "pestered" @9640News with some troubleshooting and a problem that turned out to be of my own making. My TIPI was running version 3.19 and unknown to me, a bug had been fixed in 3.21. To help me (and perhaps you, the reader) stay up-to-date going forward, I modified TSTAT to show only the version status and sound an audible alert if an update exists. Option "S" will display the PI.STATUS file and also indicate whether an update is pending, if you prefer the way things worked in version 1.0 I am now executing TSTAT from my AUTOEXEC. Program and documentation, TIFILES format: TSTATDOCTSTAT 6 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 5, 2023 Author Share Posted November 5, 2023 On 11/1/2023 at 9:43 PM, InsaneMultitasker said: I am now executing TSTAT from my AUTOEXEC I encountered the first real 'test' this evening. When I booted my Geneve, TSTAT alerted me to an update by @jedimatt42 . The update was successfully applied. Whew. I won't need that 'extra' hour tonight for debugging 8 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted November 7, 2023 Share Posted November 7, 2023 I noticed the update for TIPI in the new Geneve OS with TSTAT as well. worked like a charm! 3 1 Quote Link to comment Share on other sites More sharing options...
+dhe Posted November 7, 2023 Share Posted November 7, 2023 When do the new development docs hit the shelves? Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 7, 2023 Author Share Posted November 7, 2023 13 hours ago, dhe said: When do the new development docs hit the shelves? What new docs are you expecting? Quote Link to comment Share on other sites More sharing options...
+9640News Posted November 8, 2023 Share Posted November 8, 2023 4 hours ago, InsaneMultitasker said: What new docs are you expecting? He is looking for the updates you mentioned back a page or two ago. I know we made quite a few changes and I need to verify this is not a duplication, or other changes that were overlooked. There was an update document in the zip file that was distributed with the 7.40 release. So the answer to your question Dan, is when I get some free time and motivated. 2 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 8, 2023 Author Share Posted November 8, 2023 3 hours ago, 9640News said: He is looking for the updates you mentioned back a page or two ago. I know we made quite a few changes and I need to verify this is not a duplication, or other changes that were overlooked. There was an update document in the zip file that was distributed with the 7.40 release. Oh, those updates. That's old news to me 3 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 10, 2023 Author Share Posted November 10, 2023 I came across the Ninerpedia Ramdisk entry Booting MDOS from Horizon Ramdisk - Ninerpedia while searching for some documentation. I am noting a few considerations for future review and update: As of Geneve OS v7.30, FORM and FORM3MEG are deprecated. GenCFG is the current format tool. The OS filename has changed. The 800K partition information is technically valid but the introduction of the RamHD partition allows for both a boot partition (800K) and use of the remaining space as a 'hard drive' partition. Consider adding references to REMAP and SCSMAP. 5 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted November 11, 2023 Share Posted November 11, 2023 On 10/22/2023 at 3:06 PM, InsaneMultitasker said: The attached DEVELOPMENT test version of the OS contains the fixes noted in the previous post. I would appreciate some feedback regarding the Change Directory (CD) validation enhancement. There are still a few tasks that @9640News and I are working through before an official point release is posted. SYSTEM-742 136.13 kB · 6 downloads so far so good with CD. when it doesn't find a valid dir it lets u know without slowing things too much. nice addition. also likes echo back dir requested. 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 19, 2023 Author Share Posted November 19, 2023 For reference and future review. Partial spoiler: for those of you who encounter files that are seemingly locked by the OS, please report the context of how it happened. @9640News reported an issue with the SAVE operation that has blossomed into an error handling adventure. When a hard disk device (mfm/scs/ide/hrd) runs out of space, the OS/DSR error should gracefully deal with the partial file. In the reported case, LINK was saving a PROGRAM file to disk. The resulting file was written as Display/Fixed record length 0, with a file size that did not represent the partial file, and an inability to perform subsequent operations on that file. The first bug is that when the DSR checks for free allocation units, the error trap intercedes before the updated FDR (file descriptor record) is saved to disk. The second problem is that the file is left "open", meaning no further operation can be completed on this file until a restart. The third problem is that the file size is reported as the expected total sectors, which is not amended to reflect the actual number of sectors the DSR was able to reserve prior to the error condition. And while the number doesn't affect low level file operations bit does suggest that the file saved properly when in fact, it did not. The SAVE issues have been fixed to the extent the file can now be deleted and is reported as the proper type. The file size is reported as '1' sector, because there is currently no way to easily match the sector size to the true, partial allocation. The OS could set the file size to 0 but that might break some programs; I'll test that theory as 0 would be preferable as a visual cue that something went wrong. Digging into the other opcodes, it became apparent that other error traps encode the same problem. For example, writing a DV80 file via ABASIC generates error 34 when the disk fills up. However, the file is impossibly large (e.g., 8600 sectors) and is left in an 'open' state that cannot be viewed or modified or deleted until after a warm restart. In the error handler, many error traps branch to BADOP; however, the preceding label BADOPC is intended to clear the file operation buffer. The fix in many cases would be to redirect the failed operation to BADOPC instead of BADOP. The DSR code jumps in and out of various routines, so a bit more research is required. * WINDS3-S : NOW FREE UP FILE NAME BUFFER AND DATA BUFFERS SYSRTN CLR R0 BADOPC CLR *R3 CLEAR DATA BUFFER BADOP SOCB R0,@PABERR SET ERROR BITS IN STATUS BITS I recall situations where files were left open, often in Advanced BASIC. The DSR error trap deficiencies may be a contributing factor. DIR, TREE, and a few other operations are similarly impacted when the disk runs out of space. 5 Quote Link to comment Share on other sites More sharing options...
+9640News Posted November 20, 2023 Share Posted November 20, 2023 It was great work @InsaneMultitasker did finding the problem and developing a fix so quickly. Definitely the DSR guru. Myself, I am working on some other code that will not be released right now, but with a future release if things are incorporated and work as I hope. 3 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 20, 2023 Author Share Posted November 20, 2023 Thanks. Although, while I may be able to troubleshoot and augment the OS, I am quite certain I wouldn't have been able to write the Geneve DSR nor the OS from scratch. Even knowing that some of the code was reused from earlier Myarc projects (HFDC dsr, for example) you can tell that Lou, JPH, and especially Paul C. really knew their stuff. It is even more amazing that they debugged with primitive tools. Do I recall correctly that much of the OS was built as part of an educational project? 2 1 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.