From 300817702fb454207a241a20c8d940b04b280ff8 Mon Sep 17 00:00:00 2001 From: "ol.sc" Date: Wed, 10 Oct 2012 19:32:30 +0000 Subject: [PATCH] initcwd will be called from the upcoming __syschdir so it has to be moved out of the INIT segment - and so it doesn't make sense anymore to keep devicestr as separate module anymore as the integration with initcwd allows to omit the jmp from the latter to the former. git-svn-id: svn://svn.cc65.org/cc65/trunk@5844 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/cbm/Makefile | 1 - libsrc/cbm/devicestr.s | 35 ----------------------------------- libsrc/cbm/initcwd.s | 35 +++++++++++++++++++++++++++-------- 3 files changed, 27 insertions(+), 44 deletions(-) delete mode 100644 libsrc/cbm/devicestr.s diff --git a/libsrc/cbm/Makefile b/libsrc/cbm/Makefile index fbcaeeeed..5e3396e13 100644 --- a/libsrc/cbm/Makefile +++ b/libsrc/cbm/Makefile @@ -70,7 +70,6 @@ S_OBJS = c_acptr.o \ ctype.o \ cvline.o \ devicedir.o \ - devicestr.o \ dir.o \ diskcmd.o \ exehdr.o \ diff --git a/libsrc/cbm/devicestr.s b/libsrc/cbm/devicestr.s deleted file mode 100644 index 15b4b6c4a..000000000 --- a/libsrc/cbm/devicestr.s +++ /dev/null @@ -1,35 +0,0 @@ -; -; Stefan Haubenthal, 2005-06-08 -; -; CBM device to string -; - - .export devicestr - .import pusha0, tosudiva0 - .importzp sreg, ptr1, ptr2 - - .macpack generic - -;------------------------------------------------------------------------------ -; Convert unit number in A into string representation pointed to by ptr2. - -.proc devicestr - - jsr pusha0 - lda #10 - jsr tosudiva0 - ldy #0 - lda sreg - beq :+ ; >=10 - add #'0' - sta (ptr2),y - iny -: lda ptr1 ; rem - add #'0' - sta (ptr2),y - iny - lda #0 - sta (ptr2),y - rts - -.endproc diff --git a/libsrc/cbm/initcwd.s b/libsrc/cbm/initcwd.s index 5f43bc867..d5eb7fb90 100644 --- a/libsrc/cbm/initcwd.s +++ b/libsrc/cbm/initcwd.s @@ -4,19 +4,38 @@ ; CBM _curunit to _cwd ; - .export initcwd - .import __curunit, __cwd, devicestr - .importzp ptr2 + .export initcwd, devicestr + .import __curunit, __cwd + .import pusha0, tosudiva0 + .importzp sreg, ptr1, ptr2 - .segment "INIT" - -.proc initcwd + .macpack generic +initcwd: lda #<__cwd ldx #>__cwd sta ptr2 stx ptr2+1 lda __curunit - jmp devicestr + ; Fall through -.endproc +;------------------------------------------------------------------------------ +; Convert unit number in A into string representation pointed to by ptr2. + +devicestr: + jsr pusha0 + lda #10 + jsr tosudiva0 + ldy #0 + lda sreg + beq :+ ; >=10 + add #'0' + sta (ptr2),y + iny +: lda ptr1 ; rem + add #'0' + sta (ptr2),y + iny + lda #0 + sta (ptr2),y + rts