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 > Reading the directory - raw mode
2018-10-08 19:20
JackAsser

Registered: Jun 2002
Posts: 2014
Reading the directory - raw mode

I might have dreamt it but.. I distinctively remember being able to control ”output mode” from the regular reading $ command. I’d rather not parse quoted strings and what not and I’d rather not read raw sectors.

I remeber being able to change output format..
 
... 14 posts hidden. Click here to view all posts....
 
2018-10-08 23:07
Krill

Registered: Apr 2002
Posts: 2980
Then you should have perfect control over your naming scheme.

I think parsing the directory in cooked mode is the better option. Works consistently across all drives, and you're using KERNAL calls anyways.

And it can't be so hard or error-prone to do some kind of pattern matching in order to list your savegames, can it? Doesn't even require handling quoted strings and what not. :)
2018-10-08 23:35
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Then you should have perfect control over your naming scheme.

I think parsing the directory in cooked mode is the better option. Works consistently across all drives, and you're using KERNAL calls anyways.

And it can't be so hard or error-prone to do some kind of pattern matching in order to list your savegames, can it? Doesn't even require handling quoted strings and what not. :)


Just did. :)

1) Enter kernel hell

2 I read each null-terminated line into a buffer.

3) Scan from the end until normal character, then scans backwards until space. => File type found

4) Then I continue to scan backwards until " found. If not, bail

5) Then I scan from 0 and forward until " found. If not bail

=> Filename found

6) Verify filetype, pattern match filename, add to valid file buffer list.

7) Repeat 2) until EOF

8) Leave kernel hell

9) Present nice file picker UI
2018-10-08 23:39
chatGPZ

Registered: Dec 2001
Posts: 11386
why dont you just let the drive do the work for you?

a) pick a prefix for your savegames, like "leet.game1" "leet.game2"
b) open "$:leet*"
2018-10-09 00:03
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: why dont you just let the drive do the work for you?

a) pick a prefix for your savegames, like "leet.game1" "leet.game2"
b) open "$:leet*"


Wasnt aware it could be done. Awesome! I’ll remove my filter stuff but keep the quote parsing. Can you enforce filetype also?
2018-10-09 00:09
chatGPZ

Registered: Dec 2001
Posts: 11386
of course - open "$:bla*,p"
2018-10-09 00:14
Krill

Registered: Apr 2002
Posts: 2980
Actually, "$:bla*=p" - see http://unusedino.de/ec64/technical/aay/c1541/ro41c398.htm (and http://unusedino.de/ec64/technical/aay/c1541/ro41da55.htm). :)
2018-10-09 00:17
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: of course - open "$:bla*,p"

\o/
2018-10-09 00:17
chatGPZ

Registered: Dec 2001
Posts: 11386
OK :)
2018-10-09 00:31
JackAsser

Registered: Jun 2002
Posts: 2014
School book example of an XY-problem: https://en.m.wikipedia.org/wiki/XY_problem
2018-10-09 07:26
Oswald

Registered: Apr 2002
Posts: 5094
wow, didnt know kernal can do such nifty shit :)
Previous - 1 | 2 | 3 - 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
Bieno/Commodore Plus
Flashback
DeMOSic/MS^LSD^ONS
wil
Guests online: 106
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.7)
4 Acidchild  (9.7)
5 Cash  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.276 sec.