Jump to content
IGNORED

Small Memory Footprint DOS


Recommended Posts

Clusters are used for saving files, not for reading.

 

Any other compatible DOS that use bit3 (1=no file-id) of the file-status can read files from LiteDOS.

Directory wise, only the first 64 files are on a logical place for other Dos to find.

(http://atariage.com/forums/topic/287449-small-memory-footprint-dos/?p=4208185)

 

You should not write to LiteDOS with another DOS, obviously.

 

You can copy easily files to LiteDOS with the build-in DUP/Command-line.

Using the Cx command before the filename.

For batch-copy or same-drive-copy, I need to make a tool.

 

Grtz,

Sijmen.

Edited by mr-atari
  • Like 1
Link to comment
Share on other sites

Okay,

 

one should never write with another DOS onto a LiteDOS disk...

 

But ermmm, can LiteDOS write onto another DOS 2 disk, e.g. DOS 2.0 or DOS 2.5 (90k/130k/180k, no subdirs, max. 64 entries one or two VTOC's) ?!? Or would this also give unwanted results (destroyed VTOC or DIR, false number of free sectors, ...) ?!?

Link to comment
Share on other sites

looks like and import or read only deal from other DOS. I wouldn't think you would want to write to other DOS disks, but since he is using external programs to import, I am pretty sure he could write exporter as well... ;)

Who knows he might do it for fun...

Link to comment
Share on other sites

At the moment, you can use any compatible DOS that obeys bit-3 of the file-status (example MyDOS), to copy files of your LiteDOS-disk.

 

It would be nice if Altirra would support LiteDOS in the disk-explorer or somebody writing a tool like dir2atr....

 

Grtz,

Sijmen.

 

See:

Example directory structure.

 

First file:

Status $64, in use / protected / no file-check

Length $000E sectors

Starts at sector $0010

Filename in 11 characters

post-6668-0-03331400-1549006929.png

Edited by mr-atari
  • Like 1
Link to comment
Share on other sites

Hi!

 

I have a 2.01 ready that fixes the issues.

Doing some final testing and then it will be uploaded to my homepage.

Tried version 2.01 today, I discovered a very minor bug.

 

If I use "LiteINIT.XEX" to create a disk with 256 byte sectors (DD or XD), the resulting disk says it is LiteDOS v2.00!!

 

I think that it is only the version string, as my tests worked.

 

Here is an image with LiteDOS v2.01, with TurboBasicXL modified to load at address $1080, autorun enabled.

tblite-auto.atr

  • Like 2
Link to comment
Share on other sites

At the moment, you can use any compatible DOS that obeys bit-3 of the file-status (example MyDOS), to copy files of your LiteDOS-disk.

 

 

Grtz,

Sijmen.

 

 

Errmm,

so LiteDOS is compatible with DOS 2 versions that do NOT use the last 3 Bytes of a sector as sector/file-link...?!?

Edited by CharlieChaplin
Link to comment
Share on other sites

 

Errmm,

so LiteDOS is compatible with DOS 2 versions that do NOT use the last 3 Bytes of a sector as sector/file-link...?!?

 

It uses the MyDOS extension where bit 2 set on a file entry suppresses the file ID in the sector links. The last three bytes are still the sector link, it's just that a full 16 bits is used for the next sector instead of 10 bits for sector and 6 bits for file ID. This is incompatible with DOS 2.0 and 2.5, which will give Error 164 (file number mismatch).

 

Disks using short directories (<64 entries) are also incompatible, because LiteDOS will put data sectors immediately after the short directory. If the directory becomes full, other DOSes will then read off the end of the short sector and interpret the next sector as garbage directory entries.

 

SpartaDOS X will not read LiteDOS disks due to the non-standard VTOC signature byte. 4.20 gives Unrecognized diskette format, 4.48 gives 148 Unknown file system. Even if that is patched SDX will not read LiteDOS directory entries because they do not have bit 1 set, so the files are marked as DOS 1 format instead of DOS 2 format. DOS 1 files are hidden by SDX.

 

I would consider LiteDOS to only be compatible in two directions: LiteDOS reading DOS 2.x and MyDOS disks and writing to MyDOS disks. Any other DOS reading LiteDOS disks or LiteDOS writing to DOS 2.0/2.5 disks looks problematic.

Link to comment
Share on other sites

Tried version 2.01 today, I discovered a very minor bug.

 

If I use "LiteINIT.XEX" to create a disk with 256 byte sectors (DD or XD), the resulting disk says it is LiteDOS v2.00!!

 

Hmmm, that is a "mayor" bug, since the binaries are in the LiteINIT-file.

So when it says 2.00 the binary is 2.00 and the resulting disk is 2.00 and not 2.01

Guess I have misplaced it, will fix that in 2.02, today.

 

[edit]

Ok, could be just a wrong copy/paste value.

The header of the DD-bootloader still shows 2.00 (oops)

Edited by mr-atari
Link to comment
Share on other sites

 

It uses the MyDOS extension where bit 2 set on a file entry suppresses the file ID in the sector links. The last three bytes are still the sector link, it's just that a full 16 bits is used for the next sector instead of 10 bits for sector and 6 bits for file ID. This is incompatible with DOS 2.0 and 2.5, which will give Error 164 (file number mismatch).

 

Disks using short directories (<64 entries) are also incompatible, because LiteDOS will put data sectors immediately after the short directory. If the directory becomes full, other DOSes will then read off the end of the short sector and interpret the next sector as garbage directory entries.

 

SpartaDOS X will not read LiteDOS disks due to the non-standard VTOC signature byte. 4.20 gives Unrecognized diskette format, 4.48 gives 148 Unknown file system. Even if that is patched SDX will not read LiteDOS directory entries because they do not have bit 1 set, so the files are marked as DOS 1 format instead of DOS 2 format. DOS 1 files are hidden by SDX.

 

I would consider LiteDOS to only be compatible in two directions: LiteDOS reading DOS 2.x and MyDOS disks and writing to MyDOS disks. Any other DOS reading LiteDOS disks or LiteDOS writing to DOS 2.0/2.5 disks looks problematic.

 

So, will this work better for SDX users?

post-6668-0-30172000-1549272538.png

post-6668-0-61147300-1549272547.png

Link to comment
Share on other sites

Hmm, Ok, that Byte is mandatory for LiteDOS.

Bit 7 tells this disk is in LiteDOS-format.

Well, the VTOC that is, the file-format is almost standard using bit 2 (no file-id).

 

Seems to me, just be a small change to the ATARIDOS-driver for SDX to fix this.

 

Thanks for the feedback.

 

Grtz,

Sijmen.

Link to comment
Share on other sites

I am working on the compatibility concerning DOS 2 and clones.

But that is not easy, since I am out of memory-space I want to keep LiteDOS in.

 

I have something more or less running at my place, with the help of moving the VTOC-table into stack.

That is not something I will put for download on my homepage, only for people who want to try...

File-space on MD-disks have increased with 8% using this 10-bit sector-addressing :-)

 

To avoid any misunderstanding:

"the compatibility issue is only related to reading files of an LiteDOS-disk with another DOS type".

 

I do not recommend anybody to try and write with another DOS to a LiteDOS formatted disk.

Unless their DOS version offers a tool or plug-in that supports the LiteDOS format.

Link to comment
Share on other sites

More testing before the 2.02 release...

 

Dos 2/2.5/Clones now can read files from LiteDOS disks or partitions with less the 1024 sectors.

MyDOS/clones can read files from larger disks/partitions using bit-2 of the filestatus.

 

I tested SDX 4.48 were I hacked/patched the test for the "Directory Type" accepting the negative values used in LiteDOS.

Now I can see the directory and load files.

Without this patch/hack, I get "148 Unknown file system"

 

So, it's up to SDX to support LiteDOS, read_only would be nice.

 

Back to coding, next release hopefully before next weekend.

 

Grtz,

Sijmen.

  • Like 3
Link to comment
Share on other sites

The more news about LiteDOS I read, the more tempting seems to me to try to write a read-only DOS with simplified implementation of ROMFS for Atari.

The motivation is.... files stored as contiguous clusters of sectors and seeking by relative byte address, not by sector,offset, a great weakness of the DOS 2 file system. Of course no compatibility with DOS 2.

Edited by baktra
  • Like 2
Link to comment
Share on other sites

Version 2.02 is now online, well since yesterday that is.

 

Files are saved conform DOS 2/2.5 and/or MyDOS or clones.

Seems to work at my place.

 

Tested with:

SDX 4.49c/hacked to pass negative "Directory Type" as DOS 2.0 style.

MyDOS 4.53/4

DOS 2.5

 

Removed a bug that was present since day 1, displayed file-size was incorrect when >256.

Spotted another bug present since day 1, RENAME leaves garbage in the directory-sector, 8th file

I have that fixed in the next release.

Edited by mr-atari
  • Like 5
Link to comment
Share on other sites

New version 2.02 (18-feb-2019) online.

 

Init of DD disks/partitions did not create a boot-able system.

For got to update the DD-bootloader (1 byte)...

 

Turbo-BASIC with 38.5k Free memory included, compiled at $1000.

 

Homepage updated, SIO2WiFi moved to a separate page.

 

Thanks for the report/feedback.

:-)

Edited by mr-atari
  • Like 5
Link to comment
Share on other sites

Version 2.03 now online.



http://www.mr-atari.....Atari/LiteDOS/



8% more file-space on Medium Density disk, LiteDOS is booted from sectors 1,1024-1037.



Abuse/miss-usage of the update function fixed.


RENAME leaves garbage in the directory on the 8th file-name, fixed.



DUP:


<Return> on a occupied line = "load file"

<Return> on a empty line = "dir"


Many routines optimized to squeeze this new code into RAM below $1000.


5 bytes left, I don't expect that more optimizing will yield more room....



Enjoy.


  • Like 5
Link to comment
Share on other sites

  • 3 weeks later...

Almost a month after the last update, I got no bug-reports, so I guess that is good news.

:-)

 

I found a "little" bug when formatting a fresh/never used diskette.

LiteINIT would report "bad disk" and does not go further.

 

Updated LiteINIT today and uploaded a new zip-file.

You can check the zip-file inside, if you have the latest update.

This version has "LiteDOS-V203-C.ATR" included.

 

To be clear, this is not a bug in LiteDOS itself.

 

Grtz,

Sijmen.

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