Qbasicnews.com

Full Version: How to copy memory blocks?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I would like to know how to do this on HIGH SPEED. An other way would fit me as well: moving an array over the needed memory block. I need it for EMS management: to copy the memory from the pages in the arrays, or to create an array over the EMS page memory area. You can write ASM, if needed, but it would be better if it's fully QB. For example figuring out where is the array descriptor in the memory, and modifiing it to point to the EMS page area. Help please!
Pure QB will be very slow for such things. Why don't you use LooseCaboose sollution using DirectQB? I think it is exactly what you are looking for, and it works great.
What is it / where is it?
Check out Interrupt 67h, should say 'LIM EMS' somewhere. It has EMS functions there Smile
I know how to use EMS. I would like to make it storing images can be used with GET, and PUT. So I will need a QB array storing those, not the D000 area.
Check EMS functions. One of them allows you to copy from QB memory to an EMS handle, and it does'nt use the page frame area.
I looked around, and I found it. But it uses LIM-EMS 4.0, and Win95 reports only 3.2. But I can live with that, from now, I don't need fast memory copying. I can store those images in the normal DOS memory, and only use EMS for other purposes.

(I want to write a very good 100% QB code game, I only let using the standard library. And FFIX of course Smile )
My routines could be apadted to work with pure QB if you want. You would just need to replace the calls to DQBpeek and DQBpoke with equivalent QB code to read and write from EMS/XMS.