Jump to content
IGNORED

Geneve OS development discussion


Recommended Posts

On 3/28/2021 at 9:50 PM, InsaneMultitasker said:

7. Issue:  Possible bug in floppy bitmap allocation routine when requesting a sector at the boundary/last bit in the bitmap. Unable to completely use all space on the ramdisk and/or corruption. 

Some additional testing and confirmation is required to fix what looks to be a very old bug.

 

The floppy bitmap allocation routine is a peculiar beast.   Early testing points to the end of disk error happening only when the allocation request meets the following conditions:

  • the DSR is requesting more than one sector at a time, such as during a bwrite (direct output) operation or when reserving multiple unwritten records in a fixed file,  
  • there is sufficient space on the disk (and the program or OS tested this available space) to create the file,
  • the search for available space starts after the reserved FDR sectors,
  • the cluster being allocated contains at minimum one sector,
  • the DSR reaches the last sector of the available bitmap before finding a sufficient number of free sectors,
  • and the sector allocation routine wraps to the start of disk to look for the remaining free sectors

With these conditions in play, the cluster allocation routine incorrectly continues to process noncontiguous sectors for the SAME cluster.  Since clusters are by definition comprised of contiguous sectors, when the DSR attempts to write data to this cluster, the target sector number will eventually exceed the total available sectors on the disk, and the DSR will generate an out of space error. 

 

The two allocation routines need to be 'smarter' so that the above conditions force the cluster routine to stop building the current cluster if one or more sectors had been allocated at the time of the wraparound.  This in turn will force the DSR to request a new cluster, which in turn should trigger a wrap-around to the start of the disk (with 0 sectors allocated), where it will (hopefully) find the remaining free sectors to allocate to the file. 

 

Of course, the sector and cluster routines are used by other subprograms so a bit more research is needed before I settle on the fix.  (These bugs and their fixes are the most troublesome when it comes to the risk of breaking some other code)

  • Like 3
Link to comment
Share on other sites

 

On my MDOS 6.50 if I enter ANY DIR-command, ALL existing subfolders are shown everytime (followed by the wanted files)

Is this behaviour wanted / known ?

Also if I i.e. enter "DIR BLABLA0815" it shows me my subfolders (which do not match this letters)

 

 

Link to comment
Share on other sites

1 hour ago, Schmitzi said:

 

On my MDOS 6.50 if I enter ANY DIR-command, ALL existing subfolders are shown everytime (followed by the wanted files)

Is this behaviour wanted / known ?

Also if I i.e. enter "DIR BLABLA0815" it shows me my subfolders (which do not match this letters)

 

 

I don't know about 6.50, but the DIR BLABLA0815 issue I have never seen, and I just tested it on the MDOS Tim and I are working on.

 

  • Thanks 1
Link to comment
Share on other sites

36 minutes ago, 9640News said:

I don't know about 6.50, but the DIR BLABLA0815 issue I have never seen, and I just tested it on the MDOS Tim and I are working on.

 

 

ah OK. What I mean is I can enter whatever I want behind the DIR command, the subdirs are shown at all events

 

 

Link to comment
Share on other sites

2 minutes ago, Schmitzi said:

 

ah OK. What I mean is I can enter whatever I want behind the DIR command, the subdirs are shown at all events

 

 

Well, it doesn't work that way now in what we are getting close to release.  Haven't tested/used 6.50 since before early December, but I did not recall that behavior.  I do know between Tim and I, we did a fair amount of work with the DIR command as things needed to be adjusted for TIPI support.

  • Like 1
Link to comment
Share on other sites

5 minutes ago, 9640News said:

Well, it doesn't work that way now in what we are getting close to release.  Haven't tested/used 6.50 since before early December, but I did not recall that behavior.  I do know between Tim and I, we did a fair amount of work with the DIR command as things needed to be adjusted for TIPI support.

I do not see all directories with 6.50, so a specific example would be required.   (I thought we had this conversation in another topic or earlier pages of this topic - maybe I am dreaming it.  Not sure these days ;)   )  Some examples:

 

DIR M* - shows files and directories starting with M

DIR TEST - only shows the file TEST, if it exists, no directories listed

DIR NOFILE - if the file isn't there, nothing is displayed

DIR `p  - shows all programs

DIR `dv80 shows all dv80 files

 

  • Like 3
Link to comment
Share on other sites

2 minutes ago, InsaneMultitasker said:

I do not see all directories with 6.50, so a specific example would be required.   (I thought we had this conversation in another topic or earlier pages of this topic - maybe I am dreaming it.  Not sure these days ;)   )  Some examples:

 

DIR M* - shows files and directories starting with M

DIR TEST - only shows the file TEST, if it exists, no directories listed

DIR NOFILE - if the file isn't there, nothing is displayed

DIR `p  - shows all programs

DIR `dv80 shows all dv80 files

 

I've seen this reported too...

  • Like 1
Link to comment
Share on other sites

10 minutes ago, InsaneMultitasker said:

I do not see all directories with 6.50, so a specific example would be required.   (I thought we had this conversation in another topic or earlier pages of this topic - maybe I am dreaming it.  Not sure these days ;)   )  Some examples:

 

DIR M* - shows files and directories starting with M

DIR TEST - only shows the file TEST, if it exists, no directories listed

DIR NOFILE - if the file isn't there, nothing is displayed

DIR `p  - shows all programs

DIR `dv80 shows all dv80 files

 

 

yes I can take a pic tomorrow, but when I enter DIR NOFILE, the subdirs are shown (happens on my HRD)

 

 

  • Thanks 1
Link to comment
Share on other sites

19 minutes ago, Schmitzi said:

yes I can take a pic tomorrow, but when I enter DIR NOFILE, the subdirs are shown (happens on my HRD)

What is a HRD?  Are you referring to a Horizon Ramdisk?   Sector-based disk devices show the directories at all times and this is normal operation.  a maximum of three directories are available on disk devices, so this shouldn't be all that cumbersome?  It can be looked into...

  • Like 2
Link to comment
Share on other sites

22 minutes ago, Schmitzi said:

 

yes I can take a pic tomorrow, but when I enter DIR NOFILE, the subdirs are shown (happens on my HRD)

 

 

If you can show a video from bootup, then do a TYPE AUTOEXEC, and then an example of the use of the DIR command it will help us to determine what may be happening.  Unable to duplicate here.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, InsaneMultitasker said:

What is a HRD?  Are you referring to a Horizon Ramdisk?   Sector-based disk devices show the directories at all times and this is normal operation.  a maximum of three directories are available on disk devices, so this shouldn't be all that cumbersome?  It can be looked into...

 

ah yes, I mean the Horizon Ramdisk. So this seems to be the reason ? ?

 

And yes, since your last hint (RTFM) I am still reading the GManual, or better call it "working through", but this takes a lot of time for reading plus tinkering in parallel with the real machines, so that there still is a lot to read and to do for me (maybe 3/4. left). So of course, the last days I searched the GManual for ie "Ramdisk" and "subdirectory" and "subdirectories" and some more, (plus the HRDs (construction) manual), but all of them have more than 100 hits (GManual), what meant maybe to find it one day, or not :grin: And while thinking about bugs and that they are not very often mentioned in older manuals, and while doing all this, I eventually asked here.

 

I know MS-DOS "somehow good", since the v2.11, and this behaviour here was (and still is) strange to me, it smelled like an issue.

And I have no harddisk mounted yet to see the difference that subdirs maybe there are *not* shown (what makes me wonder now why it happens with the ramdisks, and what the reason could be). BTW, I have to check today if this happens with floppydrives too, but aren´t they "sector based" too ?

 

The HFDC is my other personal big construction site at the moment, maybe you remember from that other topic that I needed some very long time    to find out  (because finally I asked ? ) that it was impossible to get it to run because DSK1 was not answering, as it should be called DSK5 instead, and what is a lack of the HFDC´s manual, if I understood this right. I do not rely very much on and do not search long times in old handbooks (I never did), and I think it´s better to try out and after some time, just to ask the Gurus if available ?️

 

ACK ACK ACK :)

 

 

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, Schmitzi said:

this behaviour here was (and still is) strange to me, it smelled like an issue.

And I have no harddisk mounted yet to see the difference that subdirs maybe there are *not* shown (what makes me wonder now why it happens with the ramdisks, and what the reason could be).

Geneve OS has many similarities but is not MS-DOS.  We can still strive to make it better.   I do not know if the intended 'floppy' directory display should be changed; in fact, I am not for certain that the /4A mode (GPL) can even use the three floppy directories. I have only ever used them to store files for archive purposes. 

 

Of course, the larger ramdisk will be accessible and usable as the hard drive format in the released OS.  No ACK if we can help it :)  

 

The manual needs to be updated and some how-to documentation created.  Maybe a community effort...

 

EDIT: The DIR command does not strip spaces between the filename and type options, and does not MATCH the floppy directories.   These should be relatively easy fixes, based on a quick review of the code. 

 

On a floppy device, DIR M*`D  (no spaces) will show files starting with "M" that are Display types.  If you add a space, "DIR M* `D" the file type won't work AND you'll see the directories.  So partial functionality is there.  Just some bad parsing and a missing option...

image.thumb.png.bfe01d6f0f2d68d5f9afb4d00fc30f5a.png

 

  • Like 4
Link to comment
Share on other sites

14 hours ago, Schmitzi said:

 

ah OK. What I mean is I can enter whatever I want behind the DIR command, the subdirs are shown at all events

 

 

OK, I was able to duplicate what you are describing. It is a difference between floppy disks and hard drive configurations.

 

I'm thinking about it, and I am not sure if this is by design, or something that should be "fixed".  I say this, as if someone is looking for a specific file, this gives a head's up that files could exist in a subdirectory a user may not be expecting.  With larger higher capacity devices with a hard drive image style format with 127 directories (or more for the TIPI), one would expect there would be multiple directories.  Only with floppies, it may not be realized by the user.

 

I'll look at the code and see what stands out.


Beery

 

 

 

  • Like 3
Link to comment
Share on other sites

8 hours ago, InsaneMultitasker said:

EDIT: The DIR command does not strip spaces between the filename and type options, and does not MATCH the floppy directories.   These should be relatively easy fixes, based on a quick review of the code. 

 

On a floppy device, DIR M*`D  (no spaces) will show files starting with "M" that are Display types.  If you add a space, "DIR M* `D" the file type won't work AND you'll see the directories.  So partial functionality is there.  Just some bad parsing and a missing option...

 

 

 

59 minutes ago, 9640News said:

OK, I was able to duplicate what you are describing. It is a difference between floppy disks and hard drive configurations.

 

I'm thinking about it, and I am not sure if this is by design, or something that should be "fixed".  I say this, as if someone is looking for a specific file, this gives a head's up that files could exist in a subdirectory a user may not be expecting.  With larger higher capacity devices with a hard drive image style format with 127 directories (or more for the TIPI), one would expect there would be multiple directories.  Only with floppies, it may not be realized by the user.

 

I'll look at the code and see what stands out.


Beery

 

 

 

 

Hi, thanks, and just one last and complete description on what I think:

 

Entering ANY syntax-error (= expected error message)  OR  non-existant file/*mask (= expected empty output ) behind the DIR-command

will cause the subdirectories to be listed. Not sure, but I would guess this was not wanted.

 

I don´t know the timeline of MDOS and HFDC, but maybe the HFDC came some later with it´s harddisk support to MDOS,

and MDOS was extended then for handling harddrives, including the new subdirectory support ?

Or maybe the other way round, HFDC and MDM5 came for the TI first, and then.... aaaahrgrh&"/&D)"/!$§ no I dont know :)

 

 

 

Link to comment
Share on other sites

1 minute ago, Schmitzi said:

 

 

Hi, thanks, and just one more complete thought on that:

 

Entering ANY syntax-error (= expected error message)  OR  non-existant file/*mask (= expected empty output ) behind the DIR-command

will cause the subdirectories to be listed. Not sure, but I would guess this was not wanted.

 

I don´t know the timeline of MDOS and HFDC, but maybe the HFDC came some later with it´s harddisk support to MDOS,

and MDOS was extended then for handling harddrives, incluiding the new subdirectory support ?

Or maybe the other way round, HFDC and MDM5 came for the TI first, and then.... aaaahrgrh&"/&D)"/!$§ no I dont know :)

 

 

 

Floppy support came first, with a close second for the original Western Digital Personality card, then the HFDC.  No idea how the Personality card responded as we think all that code has now been removed after 30 years.

  • Like 1
Link to comment
Share on other sites

Just now, 9640News said:

Floppy support came first, with a close second for the original Western Digital Personality card, then the HFDC.  No idea how the Personality card responded as we think all that code has now been removed after 30 years.

 

ah yes, I have the WDS/100, but it is still on my ToDo-list.

I also have the WD1001 internal Adapterboard for MFM drives, so maybe this will be very interesting then :)

 

Link to comment
Share on other sites

1 hour ago, mizapf said:

Actually, it was this thread where I first learned about DIR `D. Interesting and somewhat unexpected. What about defining this as an option (/d)?

The parsing utility is somewhat intricate and intertwined with OS functionality.  For now, and I think @9640News would agree, we'll continue to address the operating risks and bugs that we can find, release the beta, and then look at enhancements where feasible.  It will require research and testing to make some of the changes to the interpreter underpinnings.

  • Like 2
Link to comment
Share on other sites

8 minutes ago, InsaneMultitasker said:

The parsing utility is somewhat intricate and intertwined with OS functionality.  For now, and I think @9640News would agree, we'll continue to address the operating risks and bugs that we can find, release the beta, and then look at enhancements where feasible.  It will require research and testing to make some of the changes to the interpreter underpinnings.

I agree with Tim.  Emphasis is on getting a stable, working image with what I would call hardware interface bugs completed to get that into people's hands, then as time permits, address the enhancements.


Beery

 

  • Like 2
Link to comment
Share on other sites

Speaking of bugs, the "floppy disk" cluster allocation issue has been resolved.  If the sector allocation routine is called immediately after the last sector/bit has been allocated, and the next sector pointer is equal to the total sectors on disk,  the routine is now forced to scan from the beginning of the bitmap.  The comparison might need more stringent code but I can happily say that the 1600 sector ramdisk partition now works properly. The de-allocation routines need to be examined. Both routines may have contributed to corrupting the next segment of memory as the bitmap routine went beyond its boundary.

38 minutes ago, mizapf said:

No problem .. do we have a feature request list somewhere, just to keep a record? ?

That sounds like a new feature ;) 

  • Like 2
  • Haha 1
Link to comment
Share on other sites

2 hours ago, 9640News said:

Not saying this will be a final area, but since I am trying to centralize everything MDOS as far as files, source code, etc., take a look at this webpage and "Push" your ideas here for features.  If this area ends up getting spammed, then may have to drop it.  

 

MDOS Ideas – 9640 News

 

how do you post to it. i don't see a submission area for the ideas.

Link to comment
Share on other sites

9 hours ago, Shift838 said:

how do you post to it. i don't see a submission area for the ideas.

Hmmm,

 

Here is the place, however, to see the option, it looks like you have to be logged in as a user to get the "Push your Idea" on the screen.

 

This may not work out to be the best option as I was trying to avoid logins due to spammers.  Let me see if there may be another way to address the issue.

 

 

image.thumb.png.d6a9cb2a45da88710986f0b4747706c2.png

  • Like 1
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...