diff --git a/libsrc/atari/crt0.s b/libsrc/atari/crt0.s index 5c5607e0c..cb5bd378a 100644 --- a/libsrc/atari/crt0.s +++ b/libsrc/atari/crt0.s @@ -16,6 +16,9 @@ .import zerobss, pushax .import _main, __filetab, getfd .import __CODE_LOAD__, __BSS_LOAD__ +.ifdef DYNAMIC_DD + .import __getdefdev +.endif .include "zeropage.inc" .include "atari.inc" @@ -73,6 +76,9 @@ L1: lda sp,x ; Call module constructors jsr initlib +.ifdef DYNAMIC_DD + jsr __getdefdev +.endif ; set left margin to 0 diff --git a/libsrc/atari/ucase_fn.s b/libsrc/atari/ucase_fn.s index 2d609bb5c..18d1be06a 100644 --- a/libsrc/atari/ucase_fn.s +++ b/libsrc/atari/ucase_fn.s @@ -20,6 +20,9 @@ .ifdef DEFAULT_DEVICE .importzp tmp2 +.ifdef DYNAMIC_DD + .import __defdev +.endif .endif .importzp tmp3,ptr4,sp .import _strupr,subysp @@ -88,7 +91,11 @@ loop2: lda (ptr4),y lda #':' sta (sp),y ; insert ':' dey - lda #'0' + DEFAULT_DEVICE +.ifdef DYNAMIC_DD + lda __defdev+1 +.else + lda #'0'+DEFAULT_DEVICE +.endif sta (sp),y ; insert device number dey lda #'D'