Features Available
CPU And Debugger
Complete Intel 8086 Instruction Support
Some i386 Instruction Support, 32-bit addressing and some i386 Protected Mode Features
32-bit Debugger Console, 32-bit Assembler and Disassembler
Devices
Implemented all basic I/O devices
Platform Related Modules
Linux Console Mode
Win32 Console Mode
Win32 Window Mode
Operating System Support
MS-DOS could run on high memory area
Works Done Since 0.3.014f
Refactored Module Architectures
Moved src/vmachine/ to src/device/
Moved src/vmachine/system/ to src/platform/
Moved src/vmachine/bios/ to src/device/qdx/ + src/device/vbios.ch
Moved src/vmachine/debug to src/debug.ch + src/device/vdebug.ch
Deprecated src/vmachine/vapi.ch and Created src/device/device.ch + src/platform/platform.ch + src/utils.ch
Refactored Startup Flow
In old NXVM versions, the virtual machine starts from console -> vmachine -> vapi -> win32/linux -> Callback to vmachine.
Now, it becomes console -> machine -> platform -> win32/linux -> device.
Refactored Macro Definitions
- Converted constants to macro defined flags as many as possible.
- Created bit flags for all register bits in all NXVM devices.
Applied Coding Conventions
- Renamed all variables
- Applied astyle -A2 --pad-header coding style to all .c and .h files under src/.
Built AutoMake Files
Introduced autoscan, autoconf, automake tools and created corresponding GNU standard files.
Developers could change compilation settings by modifying configure.ac and Makefile.am.
Created BOCHX, A Connector for BOCHs-nXvm CPU Testing
Source files located in bochx/.