Skip to content

NXVM Release 0.4.015b

Latest

Choose a tag to compare

@cshaxu cshaxu released this 10 May 06:32
· 3819 commits to master since this release

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

  1. Converted constants to macro defined flags as many as possible.
  2. Created bit flags for all register bits in all NXVM devices.

Applied Coding Conventions

  1. Renamed all variables
  2. 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/.