@Dark
One thing to note, file operations are considerably faster if you have enabled SYNC ON sometime before the file operation. I made a file parser that took about 3 minutes without SYNC ON and it reduced to about 2 seconds with SYNC ON.
Ultimately the method you choose would depend on a few things. For instance, how big is a single file? When you say 750 tiles - do you mean there are 750 possible images (actual individual pictures - 1 tree, 1 dog, 1 house, etc), thus 750 files of different pictures? Or are there say 32 different pictures someone could use on a map that can be 750 tiles? If there are 750 individual pictures, then loading them all into memory at any given time could affect performance and depending on the size of an individual picture, might eat up the available video memory.
Whatever the case, one thing you want to avoid is repeating the loading of an image. If you have an image of sand that appears 30 times on the map to show a beach, you don't want to load sand 30 times. Instead, you load sand once and you use an index (an array)to a tile on your map to paste the image of sand.
If you absolutely have to load all 750 images at once, a very fast method is to store all of the images in a memblock or a few memblocks and save those memblocks as files. The memblock files are what you will load your images from. The actual saving the images to the memblock is something you do outside of the editor. For the editor you are only interested in using those memblock files - understand? Creating the memblocks is prep work. When the editor runs, it doesn't have to create the memblocks - it uses memblock files you created previously.
I was able to place 750 256x256x32 pictures into a single memblock. The file was around 200 megabytes though. However, I tested loading it and it loaded in about 1 sec. If you used this method you might want to use more memblocks of grouped files and only load what you need so you keep memory usage down.
Assuming all of the original image files are the same size, then each image would be in a relative position inside the memblock. So if each image took up 100 bytes in a memblock, then every 100 bytes would be the location of an image. You would go to that position, copy the bytes to another memblock, then make an image from the new memblock.
assuming memblock 1 has all of the image files in it:
rem you want image number 50
rem let's say they are small images and the image and header
rem only take up 100 bytes
bytes=100
img=50
position1=(img-1)*bytes
rem make another memblock to copy the image to
make memblock 2,bytes
position2=0
rem copy the image from memblock 1 to memblock 2
copy memblock 1,2,position1,position2,bytes
rem make an image that you can use on your tile map
make image from memblock img,2
If you have converted as many images as you need, there's no reason to keep the memblock(s) around so you can delete them and free up memory.
delete memblock 1
delete memblock 2
Enjoy your day.