_CLIPBOARD$ = MemImagetoDATA$
(m
, "t", 160) 'Here's where I got the DATA to paste below
RESTORE t
'remember to restore using the proper label you associated with the data t1 = DATAtoImage 'Make a new image using the DATA
'Here's where I pasted the clipboard DATA from the memimage
t:
DATA 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
DATA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
DATA 0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
DATA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
DATA 00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
DATA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
DATA 000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000
'NOTICE: We turn Checking OFF from this point down, as these are _MEM routines and can greatly benefit from
' the speed boost. This means it's up to the USER/PROGRAMMER of these routines to be certain to NOT
' screw up calling them. RESTORE proper data labels, if necessary. Make certain that you're actually
' passing them valid mem blocks, or valid image blocks...
'
' If not....
'
' Meeehhhhh! It's not *MY* program which'll need debugging later....
'Requires a RESTORE label for the proper data BEFORE calling this routine
CASE 1: ps
= 256 '256 color screen CASE 2: ps
= 0 'text screen CASE 4: ps
= 32 '32-bit color screen o = o + 1
s = ConvertOffset(m.SIZE) - 1
IF label$
= "" THEN label$
= "generic_label_placeholder:" MemImagetoDATA$
= label$
+ CHR$(10) + "DATA " MemImagetoDATA$
= MemImagetoDATA$
+ STR$(_WIDTH(m.IMAGE
)) + ", " MemImagetoDATA$
= MemImagetoDATA$
+ STR$(_HEIGHT(m.IMAGE
)) + ", " MemImagetoDATA$ = MemImagetoDATA$ + h$
MemImagetoDATA$
= MemImagetoDATA$
+ CHR$(10) + "DATA "
s = ConvertOffset(m.SIZE) - 1
MemToHex$ = MemToHex$ + h$
m
= _MEM(value
) 'Point it to use value 'On 64 bit OSes, an OFFSET is 8 bytes in size. We can put it directly into an Integer64
_MEMGET m
, m.OFFSET
, ConvertOffset&&
'Get the contents of the memblock and put the values there directly into ConvertOffset&& 'However, on 32 bit OSes, an OFFSET is only 4 bytes. We need to put it into a LONG variable first
_MEMGET m
, m.OFFSET
, temp&
'Like this ConvertOffset&& = temp& 'And then assign that long value to ConvertOffset&&