From 736db8789e2c57a3febb8a2f62e125a46eb6bb3e Mon Sep 17 00:00:00 2001 From: "ol.sc" Date: Fri, 11 Sep 2009 19:54:29 +0000 Subject: [PATCH] Much better approach for ProDOS 8 IO-buffer custom implementations - the first one was actually kind of stupid. git-svn-id: svn://svn.cc65.org/cc65/trunk@4155 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/apple2/iobuf.s | 7 ++----- libsrc/apple2/mli.inc | 1 - libsrc/apple2/mli.s | 11 +++-------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/libsrc/apple2/iobuf.s b/libsrc/apple2/iobuf.s index fc412c241..699f3d901 100644 --- a/libsrc/apple2/iobuf.s +++ b/libsrc/apple2/iobuf.s @@ -4,12 +4,9 @@ ; Default ProDOS 8 I/O buffer management ; - .export iobuf_alloc, iobuf_free - .export iobuf_init, iobuf_done - .import iobuf_nop + .export iobuf_alloc, iobuf_free, iobuf_mli .import _posix_memalign, _free iobuf_alloc := _posix_memalign iobuf_free := _free -iobuf_init := iobuf_nop -iobuf_done := iobuf_nop +iobuf_mli := $BF00 diff --git a/libsrc/apple2/mli.inc b/libsrc/apple2/mli.inc index 6c29b275e..2134c8785 100644 --- a/libsrc/apple2/mli.inc +++ b/libsrc/apple2/mli.inc @@ -114,7 +114,6 @@ EOF_COUNT = 2 .global mliparam .global callmli -ENTRY := $BF00 ; MLI call entry point DEVNUM := $BF30 ; Most recent accessed device DATELO := $BF90 ; Bits 15-9 = Year, 8-5 = Month, 4-0 = Day TIMELO := $BF92 ; Bits 12-8 = Hour, 5-0 = Minute diff --git a/libsrc/apple2/mli.s b/libsrc/apple2/mli.s index 48e09e718..9469ce960 100644 --- a/libsrc/apple2/mli.s +++ b/libsrc/apple2/mli.s @@ -5,8 +5,7 @@ ; .import __dos_type - .import iobuf_init, iobuf_done - .export iobuf_nop + .import iobuf_mli .include "mli.inc" @@ -26,16 +25,12 @@ callmli: beq oserr ; Call MLI and return - jsr iobuf_init - jsr ENTRY + jsr iobuf_mli call: .byte $00 .addr mliparam - jmp iobuf_done + rts ; Load oserror code and return oserr: lda #$01 ; "Invalid MLI function code number" sec - ; Fall through - -iobuf_nop: rts