Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > REL files
2022-08-26 10:00
Krill

Registered: Apr 2002
Posts: 3082
REL files

... are useless and a waste of DOS ROM space to the detriment of proper seeking in files.

Change my mind! =)
 
... 9 posts hidden. Click here to view all posts....
 
2022-08-26 18:01
tlr

Registered: Sep 2003
Posts: 1807
Quoting Krill
CBM DOS implements a real filesystem, of course.

Fair enough, but very crude. As you know it's central directory and singly linked list only.

Quoting Krill
And seeking is just a matter of following the block links and having some bookkeeping. :)

Doable, although it consumes a bit of memory drive side. A file could potentially fill the whole disk.
2022-08-26 18:10
Krill

Registered: Apr 2002
Posts: 3082
Quoting tlr
Quoting Krill
And seeking is just a matter of following the block links and having some bookkeeping. :)
Doable, although it consumes a bit of memory drive side. A file could potentially fill the whole disk.
But you don't need a list with T/S of each and every file block, more link sync points for each further track the file occupies.
And i guess you can make them sparse (with a fixed maximum memory footprint) for a heavily fragmented file - just takes a bit longer to seek, but then fragmented files are slower than need be anyways.
2022-08-27 23:42
Silver Dream !

Registered: Nov 2005
Posts: 108
Quote: CBM DOS implements a real filesystem, of course.
And seeking is just a matter of following the block links and having some bookkeeping. :)


Aren't REL files exactly about the "bookkeeping" part? ;-)
2022-08-28 09:12
Krill

Registered: Apr 2002
Posts: 3082
Quoting Silver Dream !
Aren't REL files exactly about the "bookkeeping" part? ;-)
Sure, but with on-disk overhead (side sectors) and drawbacks (such as having no support for arbitrary binary payload data).

I meant RAM-only dynamic bookkeeping to maintain an index structure.
2022-08-28 23:19
Silver Dream !

Registered: Nov 2005
Posts: 108
Quoting Krill
[…] drawbacks (such as having no support for arbitrary binary payload data).


What do you mean by that? It's been literally decades since I wrote a huge (by C64 means - had to use 1581 almost to the limit) database using only REL files so I might not remember all the problems I had to overcome but I don't recall anything I could fit here. Or do you refer to the fact that one had to "predict" record length once and for all (records)?
2022-08-28 23:30
Silver Dream !

Registered: Nov 2005
Posts: 108
BTW - that reminds me... I was wondering whether we have an established "de facto" standard for flattening REL files, which would preserve enough structure information to allow"deflattening" file back into the REL form?
2022-08-28 23:48
chatGPZ

Registered: Dec 2001
Posts: 11509
what about the good old PC64 format? (.R00)
2023-08-31 06:56
doctorfargo

Registered: Aug 2011
Posts: 20
I know that a lot of early text adventure games used REL files because it was faster than SEQ files.
2023-08-31 08:14
tlr

Registered: Sep 2003
Posts: 1807
Quote: I know that a lot of early text adventure games used REL files because it was faster than SEQ files.

Haven’t seen that, could you give an example?
2023-09-20 22:45
JeeK

Registered: Nov 2019
Posts: 4
Some of my self-written DB-like applications used the REL file type. Typical address management stuff an so on. If I reminding right a program collection manager too.
The handling is much more complex and more or less error-prone. I think many projects might turn away from REL files in desperation to get it right.
My next generation program collection manager uses a bucket of SEQ files and works with parts of it directly in RAM. This gives a much better performance in handling large datasets ...

A REL file is the closest form of file organization in comparison to other typical (modern) filesystems. At least in sense of positioning to a random location into a file. Alas, some attributes are not easy to obtain, even such basic thing like the file size (but it can be calculated by a binary algorithm). Other things are missing at all, like a current position which could be used for continuous read/write/append of records (bytes or other data block).

But in retrospective I would say the linked blocked file type (PRG, SEQ, USR) are sufficient and very efficient for the typical needs those days. For 99.99 % loading programs this was and is still fine. Applications around databases in any kind was not the core application usage of a C64. But the business lines (PET, CBM II also known as B model line) do also use disk drives with the same or even newer DOS versions having one or other more business-like applications in mind to run on and which benefit from using REL files.
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Matt
zzarko/Avatar
cba
Pac
JEZ
Knut Clausen/SHAPE/F..
Krill/Plush
iAN CooG/HVSC
Guests online: 417
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Uncensored  (9.5)
9 Wonderland XIV  (9.5)
10 No Bounds  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Dawnfall V1.1  (9.5)
9 Rainbow Connection  (9.5)
10 Morph  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top Diskmag Editors
1 Magic  (10)
2 Jazzcat  (9.5)
3 hedning  (9.2)
4 Elwix  (9.1)
5 Peter  (9.0)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.058 sec.