Subj : Re: Closing a file in Assembly on the VIC-20
To : Lawrence Woodman
From : Lawrence Woodman
Date : Fri Jun 18 2021 06:56 am
On Thu, 17 Jun 2021 18:56:16 -0000 (UTC), Lawrence Woodman wrote:
> On Thu, 17 Jun 2021 11:29:57 -0000 (UTC), Tilmann Hentze wrote:
>
>> Lawrence Woodman <
[email protected]> wrote:
>>> I have created a piece of code which replicates the problem below if
>>> anyone has any ideas where I'm going wrong I'd be very grateful.
>>>
>>> [code snipped]
>>>
>>> main
>>> lda #$07 ; Length of file name
>>> ldx #<filename ; Low byte of file name location
>>> ldy #>filename ; High byte of file name location
>>> jsr SETNAM ; Set the name
>>
>>> lda #$08 ; Logical file number
>>> ldx #$08 ; Device number
>>> ldy #$01 ; Secondary address - $01 because saving
>>> jsr SETLFS ; Set above parameters
>>
>> I'd switch the two previous blocks around, so that you first set up the
>> channel and then set the file name.
>
> Thanks for the suggestion. I gave it a go but unfortunately it still
> gives the same result.
>
>
>>> [code snipped]
>>> lda #$08 ; Logical file number
>>> jsr CLOSE ; Close the file
>>
>> Looks good to me. Perhaps it will work with the first mentioned change?
>
> Sadly not. However, I'm not sure that a CLOSE is necessary as I noticed
> in other code examples that it isn't used. I've tried without it and
> also checked for errors via a carry after the SAVE but still no joy. If
> you or anyone else has any ideas I'd love to get this working.
I've managed to track down the problem. Because I was automating some of
the testing around this I hadn't left a long enough delay before
displaying the directory. It turns out that it takes a little longer
than I expected for the SAVE command to complete the write. Once I left
a bigger delay before checking the directory everything was fine. It
also appears that there is no need to call CLOSE either.
Best wishes
Lorry
---
Advanced Use of .LBR Files on CP/M
https://techtinkering.com/articles/advanced-use-of-lbr-files-on-cpm/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)