I have to convert a Qbasic program into a
Visual Basic program. Now I got a problem with the Qbasic
Poke command and I want to know if I can solve the problem
with you product.
Yes. MemAccess Library is an ideal replacement of old
BASIC PEEK or POKE statement. Please change Peek function
to maPeekB function and Poke statement to maPokeB
sub procedure. Because Windows and MS-DOS have completely
different memory management mechanism, some old Qbasic
program can't be directly converted to Visual Basic.
Following are some known issues:
attempt to direct access the keyboard buffer. The
result is unexpected if you use MemAccess Library
to access the keyboard buffer. Visual Basic users
should use SendKeys statement to simulate the Keystrokes.
In other languages, use Windows API keybd_event function
instead. Use Windows API SetKeyboardState or GetKeyboardState
functions to set or get the keyboard input state of
attempt to direct access the video memory. It's very
dangerous to use MemAccess Library to directly write
the video memory. If you want to improve graphic performance
of your program, please refer to Microsoft DirectX
support MS-DOS system area. BASIC Programmers may
use Peek and Poke to access some MS-DOS system area,
for example, Program Segment Prefix (PSP). All these
are obsolete in Windows, so MemAccess Library doesn't
I have design a PCI device and want to interface it.
Do you support PCI bus?
MemAccess Library supports ISA, EISA and PCI device.
If you want to access the memory mapped I/O of PCI device,
please refer to maGetDeviceBaseAddress to get
the base address of your device.
I need to convert an old BASIC program, which used INP
and OUT. Does your library support these functions?
MemAccess Library currently doesn't support port I/O,
but we have another product, NTPort
Library, which is designed to direct access to port
MemAccess Library support .NET platform?
I need to migrate my product to .NET platform. Does
MemAccess Library support Microsoft .NET?
A: MemAccess Library
is fully tested under .NET platform, and the Visual
Basic.NET, Visual C#.NET, Delphi for .NET and C#Builder
samples are included. But the DLL file, memacc.dll,
is an unmanaged DLL. Please refer to Using with Visual
Basic.NET, Using with Visual C#, Using with Borland
C#Builder and Using with Delphi for .NET
in the help document.
I copied my program and MemAcc.dll to my client's Windows
NT machine, but it failed to work. After I installed
your MemAccess Library package, my program worked fine.
What files do I need to copy?
You can find all runtime files you need to
distribute in MemAccess\Redist directory. Under Windows
NT/2000/XP, you need to distribute MemAcc.sys. Under
Windows 95/98/Me, MemAcc.vxd is required. Please read
Distribution Notes and How to Make Installation
Disk in help document for details.
Do I need to log as administrator when I use MemAccess
Library under Windows NT/2000/XP/Server 2003? We do
not want every person who uses our application to have
full authority to access every part of the operating
MemAccess Library supports both administrator and non-administrator
accounts, but administrator privileges are required
to install MemAccess Library on Windows NT/2000/XP/Server
2003. Because Windows NT/2000/XP/Server 2003's limitation,
you need more system configuration if the user doesn't
have administrative right. Please read Distribution
Notes in help document for details.
In MS-DOS, I use V86-mode address (seg:off). How to
use these addresses in MemAccess Library?
Use V86_To_PhyAddress function to convert V86-mode
address to physical address.
maPeekB and maMapPhysToLinear function
can be used to access memory. Which one is better?
For most users, maPeekB is easier to use. When
use C or Delphi, advanced users may like to use maMapPhysToLinear
with pointers. But you need to use the pointer carefully,
because if you access the memory which didn't be mapped,
the system will crash.
I use multiple pointers to various physical addresses
in my application, when I call maMapPhysToLinear function?
There is no limit in MemAcccess Library, so the maximum
only depends on the available resource of your system.
the meaning of error message "Can't connect to
Service Control Manager"?
want to test your MemAccess Library, if it is the right
for my application. But on an NT4 machine I become following
error message, after run your MemTest program: "Can't
connect to Service Control Manager". Can you tell
me what's wrong?
Obviously, you don't have administrative right. MemAccess
Library supports both administrator and non-administrator
accounts, but because Windows NT/2000 limitation, you
need more system configuration if the user don't have
administrative right. Please read Distribution Notes
in help document for details. You can also refer to
maGetLastState function about the meaning of
other error messages.
Does MemAccess Library support 64-bit Windows?
Q: I want to develop for Windows XP x64 edition. Does your driver support it?
A: 64-bit Windows requires 64-bit driver. MemAccess Library supports Windows XP/Server 2003 x64 edition for both AMD64 and Intel EM64T, but won't support Intel Itanium(IA64) platform. Both 32-bit(x86) driver and x64 driver are included in this version, but only 32-bit DLL is included. We will provide x64 DLL in the future version. .