32bit pointers, GPFs and real mode (Developers)
> the code is already 100% done, it just doesn't work the same on every
> platform.
Well, then, apparently it's not 100% done.
If it were me, what I would probably do is create some subroutines that use GS:[ESI] as a real mode input parameter. For example, instead of:
MOV AX,GS:[ESI]
I would create a subroutine that does all of the necessary manipulations/calculations and:
CALL MovAxGsEsi
That approach should allow you to keep most of your code intact. You could also do it with macros instead of subroutines. I don't know exactly what your code looks like, but you probably wouldn't need to create very many of these types of subroutines/macros to "fix" the program so it would work on any 386+ platform.
Complete thread:
- 32bit pointers, GPFs and real mode - DOSferatu, 27.08.2010, 00:57 (Developers)
- Don't do this!!! 32bit pointers, GPFs and real mode - DOS386, 27.08.2010, 03:04
- Don't do this!!! 32bit pointers, GPFs and real mode - DOSferatu, 27.08.2010, 19:27
- Don't do this!!! 32bit pointers, GPFs and real mode - DOS386, 28.08.2010, 01:09
- Don't do this!!! 32bit pointers, GPFs and real mode - DOSferatu, 27.08.2010, 19:27
- 32bit pointers, GPFs and real mode - bretjohn, 29.08.2010, 17:59
- Don't do this!!! 32bit pointers, GPFs and real mode - DOS386, 27.08.2010, 03:04