From f1e5dff12230760c95a1b74d4f46d57ddecc259e Mon Sep 17 00:00:00 2001 From: marcobaye Date: Sun, 5 Jun 2016 14:23:39 +0000 Subject: [PATCH] Library: renamed cbm/c64/memmove.a to memcopy.a and fixed comments. Thanks Mike! git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@70 4df02467-bbd4-4a76-a152-e7ce94205b78 --- ACME_Lib/cbm/c64/{memmove.a => memcopy.a} | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) rename ACME_Lib/cbm/c64/{memmove.a => memcopy.a} (50%) diff --git a/ACME_Lib/cbm/c64/memmove.a b/ACME_Lib/cbm/c64/memcopy.a similarity index 50% rename from ACME_Lib/cbm/c64/memmove.a rename to ACME_Lib/cbm/c64/memcopy.a index 5bb366e..b52a7df 100644 --- a/ACME_Lib/cbm/c64/memmove.a +++ b/ACME_Lib/cbm/c64/memcopy.a @@ -1,14 +1,17 @@ ;ACME 0.95.7 -!ifdef lib_cbm_c64_memmove_a !eof -lib_cbm_c64_memmove_a = 1 +!ifdef lib_cbm_c64_memcopy_a !eof +lib_cbm_c64_memcopy_a = 1 -; this macro inserts code to move a memory block. +; this macro inserts code to copy a memory block. ; it calls a function from the basic interpreter, so: ; - BASIC ROM must be banked in -; - the source block must be below $a000 so it can be read -; source and target blocks are allowed to overlap. -!macro basic_memmove .src_start, .src_end, .target_start { +; - the source block must be readable (so no RAM hidden under BASIC, Kernal, or I/O) +; - the target block must be writable (so no RAM hidden under I/O) +; higher addresses are copied first, so: +; - moving data to higher addresses works even if areas overlap +; - moving data to lower addresses only works of areas do not overlap +!macro basic_memcopy .src_start, .src_end, .target_start { !address { .z_target_end = $58 .z_src_end = $5a