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 > Loading files
2008-07-27 18:44
Bregalad
Account closed

Registered: Jul 2008
Posts: 42
Loading files

I'm a total newbie on the C64 but not on the 6502.

I'm trying to do a simple programm and I'm trying to sucessfully load a separate file into memory manually exactly as describled here
But I keep getting error #4 (file not found) although the file exists, I tried both with and without the " symbols arround the filename.

BTW if anyone know something better than the Kernal routines for loading files let me know, so that I can use zero page without worrying about anything, which is something I'd really like to do. I found a couple of so-called "fastloaders" arround but they are hard to understand for a newbie and I don't know howell emulators supports them (Metal Warrior freezes in Vice if I enable the fastloader).
 
... 10 posts hidden. Click here to view all posts....
 
2008-07-30 17:28
Bregalad
Account closed

Registered: Jul 2008
Posts: 42
I've got the loader I liked above working, and it's not cycle exact, even if it's probably by far not the fastest in the world they say it's completely synchronous and you can interupt it to play music and do graphical effects wile loading, which is way better. Even if the loading is slower, it's possible to hide it to the end user. I'll look forward to find a way to "disable" NMI, I remember seeing that on the codebase wiki.

By the way what are you supposed to do when you get an error ? I guess print a message telling the user to insert the disk correctly or something like that, and to press a key to try again ?
2008-07-30 19:07
Oswald

Registered: Apr 2002
Posts: 5094
Quote: Talking about loaders and interrupts keep in mind that fastloading is cycle exact so any uncontrolled interrupt trigger can in fact ruin whole loading process. Even if you setup your own IRQ and NMI handlers you will still loose cycles due to interupt request and RTI. This is why disabling NMI is better option. You can use CIA timers to better handle IRQ and NMI (including disabling NMI despite it's name). For the same reason some loaders also disable screen ($D011).



this depends on the loader. 'modern' loaders do always a handshake before data gets sent through, so no irq/sprites/whatsoever disturbs them.

edit: to disable nmi, simply point fffa/b to an rti, or the harder way: initiate an nmi interrupt and never ack it. disabling nmi's is not crucial imho. I never do it. if one presses restore then its his own fault :)
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
CreaMD/React
Guests online: 93
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 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 X-Mas Demo 2024  (9.5)
7 Dawnfall V1.1  (9.5)
8 Rainbow Connection  (9.5)
9 Onscreen 5k  (9.5)
10 Morph  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

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