]> git.sur5r.net Git - cc65/blob - libsrc/apple2/sysrename.s
Fixed _textcolor definition.
[cc65] / libsrc / apple2 / sysrename.s
1 ;
2 ; Oliver Schmidt, 15.04.2005
3 ;
4 ; unsigned char __fastcall__ _sysrename (const char* oldname, const char* newname);
5 ;
6
7         .export         __sysrename
8         .import         pushname, popname
9         .import         popax
10
11         .include        "zeropage.inc"
12         .include        "mli.inc"
13
14 __sysrename:
15         ; Save newname
16         sta     ptr2
17         stx     ptr2+1
18
19         ; Get and push oldname
20         jsr     popax
21         jsr     pushname
22         bne     oserr1
23
24         ; Save pushed oldname
25         lda     sp
26         ldx     sp+1
27         sta     ptr3
28         stx     ptr3+1
29
30         ; Restore and push newname
31         lda     ptr2
32         ldx     ptr2+1
33         jsr     pushname
34         bne     oserr2
35
36         ; Restore and set pushed oldname
37         lda     ptr3
38         ldx     ptr3+1
39         sta     mliparam + MLI::RENAME::PATHNAME
40         stx     mliparam + MLI::RENAME::PATHNAME+1
41
42         ; Set pushed newname
43         lda     sp
44         ldx     sp+1
45         sta     mliparam + MLI::RENAME::NEW_PATHNAME
46         stx     mliparam + MLI::RENAME::NEW_PATHNAME+1
47
48         ; Rename file
49         lda     #RENAME_CALL
50         ldx     #RENAME_COUNT
51         jsr     callmli
52
53         ; Cleanup newname
54         jsr     popname         ; Preserves A
55
56         ; Cleanup oldname
57 oserr2: jmp     popname         ; Preserves A
58
59 oserr1: rts