First post, by WhiteFalcon
- Rank
- Member
Not sure if this is the right place, but it has to be connected with DosBox. After more than 10 years I have come back to try DOS C (with a bit of asm) programming, remembering more than I expected. But I got stuck not far from the beginning - I can init the clasic mode 13h and put some pixels, yet when I try to allocate a 64000-byte pointer for double buffering, it wont let me.
My IDE of choice is Borland Turbo C++ 3.0 in DosBox 0.74, the project is now set to Large (1MB code, 1MB data). I even found snippets of my ages old code and it worked without a problem, now in DoxBox there is not enough memory, not even if I compile it and run from the command line. The gist of the code is this:
unsigned char *vga_buff;
vga_buff = (unsigned char *) malloc(320 * 200);
Allocating 320 * 190 seems to work though. Also, its recommended to get a piece of memory starting at offset 0x0000, how can I achieve that?
At the moment I have no means to test the code on an old DOS machine, but I am sure it used to simply work and now in DosBox it wont.
Olivetti M4 P75, 32MB RAM, 4GB HDD, 8GB CF, CD-ROM, SoundBlaster AWE 64, Gravis Ultrasound MAX, Roland SCC-1, Roland MT-32, Roland CM-64
Intel 486DX2/66Mhz, 16MB RAM, VGA Trident 512kB, 1.6GB HDD WD, CD-ROM, 256MB CF, SoundBlaster 16 Pro (CT2910)