Skip to content
xms0gPublic

Latest commit

 

History

239 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3DOS

3DOS is a low-poly old-school software renderer for MS-DOS written in C and x86 assembly, targeting VGA mode 13h at 320x200 resolution. Download the EXE file from itch.io.

Built with Borland Turbo C++ 3.0 (DOS), Turbo Assembler 4.1 and Turbo Link 5.0.

Features

  • Triangle rasterization
  • 3D perspective projection
  • Simple vector/matrix math with LUT-based sin/cos
  • Backface culling
  • Ordered dithering with 4x4 bayer matrix
  • Double buffering
  • Assembly-optimized framebuffer transfer - x86 REP MOVSW with far pointers for copying pixels to VGA memory
  • Low-level keyboard input — custom interrupt handler with key press and release detection

Controls

Key Description
WASD Move
↑ ↓ Fly up/down
ESC Exit
1/2/3/4 Cube/Ico/Tree/F22

Screenshots

image

image

image

image

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.