Available on: all targets

MMOVE

This low-level command can be used to move memory blocks at high speed between addresses. There are several cases that are covered by this command. The simplest is to copy data from one or more CPU memory locations (RAM) to another CPU memory location (RAM). This can be achieved with the standard version of the command.

If you add the VIDEO keyword, you can indicate that the memory to copy from or to copy to is not in the CPU RAM but in the RAM possibly dedicated to the GPU. In this case it is called VRAM.

You cannot move overlapped area or VRAMS together.

SYNTAX

 MMOVE [VIDEO] address TO [VIDEO] address SIZE size


Legend
  • id : identifier
  • type : datatype
  • v : value
  • "..." : string
  • [...] : optional

EXAMPLE

 MMOVE $0000 TO $C000 SIZE 1024
 MMOVE VIDEO $1800 TO $C000 SIZE 960
 MMOVE $C000 TO VIDEO $0000 SIZE 2048
 MMOVE VIDEO $1800 TO VIDEO $0000 SIZE 2048


ABBREVIATION: Mmv

Join BASIC 10Liner Contest with ugBASIC!

An interesting competition is held at the beginning of each year: the BASIC 10Liner Contest. It is possible to use ugBASIC to participate in the next "BASIC10Liner" competition, in the following categories:

  • PUR-120 - A game in 10 lines of max 120 characters (w/abbrev.)
  • EXTREME-256 - A game in 10 lines of max 256 characters (w/abbrev.)
  • SCHAU - Any program in 10 lines of max 256 characters (w/abbrev.)
In order to reduce space you can use this abbreviation for this instruction:

MMOVE ↔ Mmv

Any problem?

If you have found a problem with this keyword, if you think there is a bug or, more simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!

open an issue BACK TO KEYWORDS