RE: X-IDE advice/help needed

ruud.baltissen_at_abp.nl
Date: 2008-01-07 11:06:19

Hallo Jim,
 

> Can;t you just mark the parent dir entry with a length of 1 when
> you are creating the dir?

I want to use as much standard routines as possible:
1) to save space
2) to remain compatible
3) to make it as understandable as possible for outsiders
This means that I want to update the entry when I have created the
subdirectory, just like the directory is updated AFTER the file is saved
and the number of blocks is known. Problem: I haven't found the place
where this number is updated yet. The file is closed at CloseFile [DB02]
(*). Here is a routine called that, IMHO, writes the last sector:
WriteLastSec [DB62]. Immediatly after this routine the directory is
written and the BAM is updated. But I haven't yet found the update of
the size of the file itself. If possible I want to use the same
routines. But not understanding them (yet), makes it difficult to use
them. That's why I asked for samples of sources doing these kind of
tricks.

But I already found out that these are rare. Books like "Inside
Commodore DOS" give you all kind of info about dealing with the 1541 on
a very low level like calling jobs, or high level things like OPEN 1, x,
y, "..... but not mid-level things like creating your own routines
inside the 1541. 
And it is more difficult then I thought. I thought I could use the SAVE
routine as example so I started to follow the thread starting at
OPEN_N15. It ends at $D8D6 where a JMP to OpenFile4Write takes place. So
edited some variables like TYPE and MODE and called the routine. A
sector is indeed allocated but no entry is made. Doing some research I
found out that an entry is made but in a wrong way. Then I just copied
the beginning of the COPY [C8F0] routine and started to scratch lines.
So I found out that I only needed one routine to get things going:
Srch_file_dir [C44F]. Studying this routine didn't clear anything; I
have no idea what special thing this routine does so my own routine
suddenly works :( 
But I cannot use this try-and-error method all the time because 1) it
eats up valuable time and 2) I end up with a routine that I don't
understand myself. Worse, if things go wrong, where should I look for
???

If nobody has any sample sources, it just means that the development
takes longer then I hoped. Do not misunderstand me, this is not a
complaint! Having had a deep dive into the sources I now understand it
is quite difficult material to handle, something that is not easy to
change.

(*) All the sources I have produced until now are based on my original
1541.ASM. So the above routines can be found at least by their name. A
reference like [C44F] means that this routine is found at address $C44F
in a 1541. This isn't true anymore for the newer sources but help you to
find the original routine in another 1541 source then mine. 


> It'll never be anything else, no?

Like a normal directory, it should be expandable. Hmmm, what about
directories that once contained hundreds of files and now are empty?
Another challenge I think :)


> I saw Ruud has a design, but I really wanted to just buy something.  
> Ruud, you want to build me one?

To be honest, no. I'm sorry but 1) it will take quite some time to build
it, time I want to spend on this IDE project and 2) it only works under
real MS-DOS. But if you still want it, you can have my proto-type. 



Hallo Peter,


> Are you using one of those ROM/RAM boards, Ruud?

No. 
1) I deliberately choosed a 1541-II because its ROM can be replaced by a
27128 and , after some soldering, by a 27256. For a 1541 you'll need two
28 pin adapters, or one plus a soldering hack.
2) I placed a 28-pins textool socket in the original socket so changing
ROMs is done in seconds. 
3) I use an AT29C256 which can be programmed much faster then an EPROM.
And no erasing needed either.


> Perhaps support can be hacked into VICE easily...

THAT would be great! That would simplify development as I don't have to
program ROMs anymore. Who do I have to bribe? :)


--
     ___
    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL: Ruud.C64.org

 


De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer: 41074000


The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000





       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.