Contents |
Effect
Copies a memory block to another location in the same memory or another memory.
It implies that you can make 4 different operations:
- copy from RAM to RAM
- copy from RAM to VRAM
- copy from VRAM to RAM
- copy from VRAM to VRAM
Syntax
CALL BLOCK ([@]<Address1>,[@]<Address2>,<Length>)
Parameters
@ needs to be put before <address 1> and/or <address 2> to specify VRAM instead of RAM. Without this parameter, the operation will use main RAM if the address is lower than 8000h.
<Address1> is the source address.
<Address2> is the destination address.
To avoid error messages, decimal numbers need to be used for addresses higher than FFFFh (65535).
If <address 1> or <address 2> is negative the binary complement is used. This means -1=65536-1
If you specify a RAM address higher than 65534 for <address 1> or <address 2>, specifications of the mapped RAM are used.
65535 + (number of available segments) × 16384 is the upper limit. If you specify a value exceeding this value, you get an "Out of memory" error.
<Length> is the size of the block that you want to copy.
Example
CALL BLOCK (@&H1000,&H3000,4096)
Related to
CALL PEEK, CALL PEEKS, CALL PEEKW, CALL POKE, CALL POKES, CALL POKEW