Jump to content
InsaneMultitasker

Horizon RAMdisk ROS and CFG Development

Recommended Posts

1 hour ago, GDMike said:

 

He certainly started something! He was only six years older than I. Hard not to notice that, nowadays, reminders of life’s frailty catch my attention a bit more than they used to. Ah, well...

 

...lee

  • Thanks 1

Share this post


Link to post
Share on other sites
9 hours ago, Schmitzi said:

 

ah Ok, thanks. To edit Post #1 just send an Message to Albert and he makes you "Admin" of this post, so you can edt it infinite

 

I was able to edit post #1 - either I asked long ago or someone helped me behind the scenes :)    I uploaded ROS 8.41 and Ksarul's 838 disk for reference and added a few notes.

  • Like 2

Share this post


Link to post
Share on other sites
39 minutes ago, InsaneMultitasker said:

I was able to edit post #1 - either I asked long ago or someone helped me behind the scenes :)    I uploaded ROS 8.41 and Ksarul's 838 disk for reference and added a few notes.

 

As you are an AA-subscriber, you can add this "last-changed"-time stamp to the end of the post (post #1),

so that everbody actually can see the date of the last change. This may be very helpful.

Just edit the post once, and check the referring field (on the bottom?)

(I don´t know how it exactly looks/is called, as I am no more a subscriber)

 

 

I mean this date --➡️ ⬇️

Edited by Schmitzi
  • Like 2

Share this post


Link to post
Share on other sites
7 hours ago, Lee Stewart said:

 

He certainly started something! He was only six years older than I. Hard not to notice that, nowadays, reminders of life’s frailty catch my attention a bit more than they used to. Ah, well...

 

...lee

Yeah, of course because life is so short, and our struggles are real and by the time you've tackled the problem within the struggles you find out you've aged. But what would you do anyway if you weren't having fun solving problems?

Share this post


Link to post
Share on other sites
9 hours ago, InsaneMultitasker said:

I was able to edit post #1 - either I asked long ago or someone helped me behind the scenes :)    I uploaded ROS 8.41 and Ksarul's 838 disk for reference and added a few notes.

 

Those of us who are subscribers can edit our posts in this “TI-99/4A Development” thread indefinitely. As the topic starter, you can even change the title, which I do for the main fbForth thread to flag its last update.

 

...lee

  • Thanks 1

Share this post


Link to post
Share on other sites
On 1/14/2020 at 3:11 AM, Lee Stewart said:

 

Those of us who are subscribers can edit our posts in this “TI-99/4A Development” thread indefinitely. As the topic starter, you can even change the title, which I do for the main fbForth thread to flag its last update.

 

...lee

Not only subscribers. I just changed the title of one of my very old threads. But in the other forum you only have one hour, I think.

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

This evening I realized that ROS has less than 30 bytes of available free space and the new code I started writing is 90+ bytes.  So... ROS still has some VDP boot tracking code that dumps the current disk number into hard-coded addresses used by the TI/CorComp and Myarc controllers; the intent here is a program loaded from RAMdisk that employs this mechanism will track to the ramdisk. 

 

I think it is time to remove this boot tracking code and the old "I Gotcha" / "CONTRLFAIL" code in favor of protecting the data.

Share this post


Link to post
Share on other sites

Sounds good to me. Was there any software that actually depended on that code? If there was, I'll just identify it as a known issue in the manual for those using current versions of ROS (and point them back to 8.41 if they still need to use those functions).

Share this post


Link to post
Share on other sites

Good question. I know boot tracking was one of Bruce Harrison's pet peeves. ;)  I run most of my programs from non-disk devices and can't think of any programs that fail. Most programs relying on it were those with specialized loaders.  Older FunnelWeb, perhaps? The FunnelWeb I use has a config program to set the device. Maybe others can chime in.  If there were a lot of programs out there, I'd think the TIPI users would have uncovered them by now.

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, atrax27407 said:

Have at it!

Done!  The VDP-based drive number tracking and the defunct GOTCHA code has been removed - so far, so good. I created a backup prior to the change just in case I need to revert to 8.41 for some reason.  

 

Although testing has been very minimal, the SAVE opcode and Direct Output opcode now generate an error and inhibit FDB/file creation when a new file is too large to fit on disk.  I'll take a stab at Beery's idea to inhibit the deletion/recreation of an existing file IFF insufficient space exists.  

Share this post


Link to post
Share on other sites

Waiting (im)patiently for the latest, finished ROS. 😀 BTW, I haven't found a problem with Vn 8.41 but then I seldom push the edges of the disk partitions - I always leave a couple of free sectors on each one.

Edited by atrax27407

Share this post


Link to post
Share on other sites
On 1/12/2020 at 5:43 PM, BeeryMiller said:

Got a thought here.  If a file exists, and you remove it, and then there is no space for the file, then one could conceivably lose everything thinking the original would still be on the device.

 

So, what about identifying the size of the existing file and adding the free space, to confirm there is enough room before deleting and saving.

 

My 2 cents.

Beery - this approach worked well for the save opcode >06 and direct output >15.   In fact, this afternoon I tested the new code:  ROS computes available space via the bitmap, adds the current file size to that free space value, then compares it with the requested new file size.  If the (new file size) is larger than (free space + existing file size) ROS generates an error.  The original file is preserved.  Really appreciate the idea/thought! 

 

At this point I've tackled the known file creation/allocation edge cases.  Next I'll review the fractured file deletion routine for what I expect is another edge case (confirmed; the cluster routine does not check for the end of the FDR and if the last cluster is used, the routine incorrectly continues into the next sector).   From there I'll investigate why the DSR table (DSRLNK DATA 8 ) is linked to the subroutine table (DSRLNK DATA 10 ); it seems like a mistake but I may be forgetting something about the ramdisks or DSRs.  (Edit: Not a mistake; re-reading the ROS814 manual periodically is a good thing. This linkage is needed to support some of the feature set.)

Share this post


Link to post
Share on other sites
6 hours ago, InsaneMultitasker said:

Beery - this approach worked well for the save opcode >06 and direct output >15.   In fact, this afternoon I tested the new code:  ROS computes available space via the bitmap, adds the current file size to that free space value, then compares it with the requested new file size.  If the (new file size) is larger than (free space + existing file size) ROS generates an error.  The original file is preserved.  Really appreciate the idea/thought! 

 

Glad to hear my thought produced some results.  Thanks for the feedback.


Beery

 

  • Like 1

Share this post


Link to post
Share on other sites
12 hours ago, retroclouds said:

Would it make sense to make this a configuration option?

Are you referring to an option to display the simple version/date on the title screen?  If so, that seems reasonable and would only require a 'flag' byte and associated code in ROS.  My next piece to tackle will be CFG; I've made a notation in the source about your idea so that I can investigate. :)

  • Like 1

Share this post


Link to post
Share on other sites
2 minutes ago, InsaneMultitasker said:

Are you referring to an option to display the simple version/date on the title screen?  If so, that seems reasonable and would only require a 'flag' byte and associate code in ROS.  My next piece to tackle will be CFG; I've made a notation in the source about your idea so that I can investigate. :)

Yes, that would be great. Thanks!

  • Like 1

Share this post


Link to post
Share on other sites
56 minutes ago, InsaneMultitasker said:

Are you referring to an option to display the simple version/date on the title screen?  If so, that seems reasonable and would only require a 'flag' byte and associate code in ROS.  My next piece to tackle will be CFG; I've made a notation in the source about your idea so that I can investigate. :)

I really like the simple version, very clean.  Nice job on that and all the other fixes you've accomplished!  This all gives an old card new life and I'm looking forward to putting the new hardware and software together.

  • Thanks 1

Share this post


Link to post
Share on other sites

I wonder why anyone using an HRD of any size would choose NOT take advantage of starting up with a MENU (or BOOT) when the system first starts instead of displaying the TI title screen. It is easily set up in the CFG program. You can have the XB cartridge in the cartridge slot (or in my case on the HSGPL card) and have a single keypress load of both XB and EA programs. Both 40-col and 80-col versions of MENU/BOOT are widely available. It has been many years since I have seen the TI title screen unless I consciously choose for some reason to skip the auto-boot of MENU. Besides, CFG displays all of the pertinent data about the installed ROS version.

Edited by atrax27407
  • Like 2

Share this post


Link to post
Share on other sites
6 hours ago, atrax27407 said:

I wonder why anyone using an HRD of any size would choose NOT take advantage of starting up with a MENU (or BOOT) when the system first starts instead of displaying the TI title screen. It is easily set up in the CFG program. You can have the XB cartridge in the cartridge slot (or in my case on the HSGPL card) and have a single keypress load of both XB and EA programs. Both 40-col and 80-col versions of MENU/BOOT are widely available. It has been many years since I have seen the TI title screen unless I consciously choose for some reason to skip the auto-boot of MENU. Besides, CFG displays all of the pertinent data about the installed ROS version.

A good point.  To be honest, had I not seen the ROS title screen long long ago AND had I not been updating ROS code, I wouldn't even know it existed.  The only time it comes up (in my system) is when the autostart is turned off and there is no cartridge in the slot. I will consolidate the version/date info now that the ROS is 'unified' for all controllers.  I will also retain historical acknowledgements somewhere in CFG and/or ROS.

 

I am always amazed and get a bit nostalgic when I consider that it has been 30 years (!) since 8.14's release. Back then today's internet and dev tool options didn't exist:  so much of this work was ground out on the real iron, using old-fashioned things like dot matrix printers, floppy disks, pen/paper, and a lot of dedication.

  • Like 4

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...