Commit graph

15 commits

Author SHA1 Message Date
Aleksandar Andrejevic 78e8653765 [SOFT386]
Halfplement the IRET instruction (everything except task switching).


svn path=/branches/ntvdm/; revision=60392
2013-09-27 21:18:09 +00:00
Hermès Bélusca-Maïto 9620dafb0c [SOFT386]
Use SOFT386_EXCEPTIONS instead of INT for the ExceptionCode parameter in Soft386ExceptionWithErrorCode and Soft386Exception.

svn path=/branches/ntvdm/; revision=60196
2013-09-17 23:17:50 +00:00
Hermès Bélusca-Maïto 85f05060e4 [SOFT386]
- Put inlined functions in a .inl file, which gets included by the corresponding header file (i.e. fix MSVC builds).
- Use enums types instead of "only" INTs...

svn path=/branches/ntvdm/; revision=60193
2013-09-17 23:02:22 +00:00
Hermès Bélusca-Maïto c27ff5b52f [SOFT386]
- Code formatting (align on 4-space)
- Fix union / struct problem in _SOFT386_PAGE_TABLE.

svn path=/branches/ntvdm/; revision=60189
2013-09-17 21:47:38 +00:00
Aleksandar Andrejevic 593f4baf1a [SOFT386]
Fix struct/union mixup.


svn path=/branches/ntvdm/; revision=60186
2013-09-17 20:57:35 +00:00
Aleksandar Andrejevic 5439ace9d6 [SOFT386]
Start implementing paging support.
Add support for exception error codes.


svn path=/branches/ntvdm/; revision=60089
2013-09-13 23:01:18 +00:00
Aleksandar Andrejevic 9fd42c0f7d [SOFT386]
Fix a typo.
Use a macro (SOFT386_OPCODE_HANDLER) for function definitions of opcode handlers.
Implement the rest of the ADD opcodes.


svn path=/branches/ntvdm/; revision=59990
2013-09-04 16:36:39 +00:00
Aleksandar Andrejevic 5f874178e7 [SOFT386]
Implement helper functions for reading/writing operands of instructions that use
the MOD-REG-R/M byte.
Implement the MOD-REG-R/M ADD instruction for bytes.


svn path=/branches/ntvdm/; revision=59981
2013-09-04 01:11:12 +00:00
Aleksandar Andrejevic 6f2f5335c2 [SOFT386]
Implement "MOD-REG-R/M" byte decoding.


svn path=/branches/ntvdm/; revision=59959
2013-09-01 23:49:57 +00:00
Aleksandar Andrejevic fffdba9eb5 [SOFT386]
Implement the following opcodes:
INC reg16/reg32
DEC reg16/reg32


svn path=/branches/ntvdm/; revision=59814
2013-08-24 21:32:45 +00:00
Aleksandar Andrejevic 610999cb63 [SOFT386]
Implement prefix support.


svn path=/branches/ntvdm/; revision=59810
2013-08-24 11:48:38 +00:00
Aleksandar Andrejevic 6f769d6314 [SOFT386]
Implement instruction fetch functions.
Implement CPU exception system.


svn path=/branches/ntvdm/; revision=59782
2013-08-19 18:23:39 +00:00
Hermès Bélusca-Maïto 2672ec8ee5 [SOFT386]
- In the interface header soft386.h, do not include other particular headers (windows.h and debug.h). Those must be included by the different applications which also will include soft386.h.
- LPVOID --> PVOID (do it general, not just à-la Win32).
- The .c files include the headers, and each .c files must have its "#define NDEBUG\n#include <debug.h>" lines, to activate (or deactivate here in the example) debugging output.
- In the .c files, include the header windef.h for having the basic types, and temporarily comment out the needed #defines which will be needed if one needs to include other win***.h files. Those will be deleted if they aren't needed at the end.

svn path=/branches/ntvdm/; revision=59766
2013-08-17 21:15:55 +00:00
Aleksandar Andrejevic 99302b9d00 [SOFT386]
Implement Soft386LoadSegment.
[NTVDM]
Fix BiosPrintCharacter (Adapted from a patch by Hermes Belusca-Maito).


svn path=/branches/ntvdm/; revision=59764
2013-08-17 18:44:16 +00:00
Aleksandar Andrejevic c7b66d26f6 [SOFT386]
Implement Soft386ReadMemory, Soft386WriteMemory, Soft386StackPush and Soft386StackPop.


svn path=/branches/ntvdm/; revision=59760
2013-08-17 15:20:47 +00:00