CALL BLOCK
This page was last modified 23:31, 17 May 2020 by Mars2000you. Based on work by Gdx.

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

Compatibility

DM-System2 BASIC