Jump to content
IGNORED

Why is SpartaDOS X Cartridge Only?


pixelmischief

Recommended Posts

1 hour ago, drac030 said:

The files on CAR: are not (and have never been) executed in-place. They are copied to RAM. The system sees them as normal file streams, thus a "read" means copying data from the media (cartridge banks) to the operating memory (per usual rules).

This was assumed from the outset, but (pertinent to the earlier discussion), does the open function perform filename matching in-situ (ROM), or first copy the directory data to a buffer and then perform the filename match?

  • Like 1
Link to comment
Share on other sites

32 minutes ago, flashjazzcat said:

does the open function perform filename matching in-situ (ROM), or first copy the directory data to a buffer and then perform the filename match?

The open function first opens and reads the directory, so the file name matching is performed in the RAM buffer.

 

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

7 hours ago, drac030 said:

3) The files on CAR: are not (and have never been) executed in-place. They are copied to RAM. The system sees them as normal file streams, thus a "read" means copying data from the media (cartridge banks) to the operating memory (per usual rules).

I can clearly see that with MAN files... I tried my own medicine here, so I issued a "MAN COPY" command which I aborted shortly after via BRK key. Went to HD active directory at that moment, and found a .TMP file with the ENTIRE (and de-compressed) content of SDX's rom-disk matching MAN file !! 🥴

 

BUT... I noticed that when issuing a "CAR:" command, and then issuing a "ARC", "FIND", 'MENU', "FDISK', directly on CAR: device path, the response was almost INSTANT. Some of those commands are larger in size, and also run with .OVL files (not shown in DIR CAR: command).

 

How come they run THAT fast while somehow being copied to RAM first? That is quite a feat, there.

Edited by Faicuai
Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
On 6/25/2023 at 6:35 AM, Faicuai said:

How come they run THAT fast while somehow being copied to RAM first? That is quite a feat, there.

Sorry, I overlooked your post. The answer is that real disks (and RAM-disks too) are split into fixed-size sectors, which must be buffered. If you want to read 1 byte from a disk file, it first involves reading a sector into a sector buffer, then your byte is fetched from there and copied into your destination. Even if the data are already in the buffer (so no disk access is necessary), it is still relatively expensive.

 

CAR:, on the other hand, is not organized into sectors, so any amount of data may be directly copied into the destination memory without any intermediate buffers and associated copying operations.

  • Like 2
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...