FB II Compiler

PG PRO

Debugging

Memory

System

Mathematics

Resources

Disk I/O

Windows

Controls

Menus

Mouse

Keyboard

Text

Fonts

Drawing

Sound

Clipboard

Printing

Communication

ASM

Made with FB

MEMORY

Use memory as a virtual disk


Here's the easiest way to do it:
* gmy4Mptr& is the pointer you need to allocate
* 4096*1024*1024 is 4Meg
* offset& is the offset to the location to poke to
* data% is from 0-255, bytes in other words
* Disposptr is the function to call to destroy the pointer at the very end

gmy4Mptr& = FN NEWPTR _clear(4096*1024*1024)
LONG IF gmy4Mptr&<>0
  POKE gmy4Mptr& + offset&, data%
  OsErr% = FN DISPOSPTR(gmy4Mptr&)
END IF

Take into consideration:
* 4M allocations may not work in small memory environments
* if you crash in the middle, there's no way I know of to dispose your broken pointer and you've automatically lost 4M of memory(d'oh!)
* data is from 0 to 255, in this case, cuz POKE does bytes, you can use POKE WORD but I've never used it, so...
* After you get your routines perfected, some will say handles are better than pointers... You have to remember to HLOCK and HUNLOCK the handles when you do this(a bit trickier, pointers are better to start with in my opinion).

TJ Grant