• Stars
    star
    193
  • Rank 201,081 (Top 4 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created over 10 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hackipedia DOSLIB, a general collection of useful libraries for writing MS-DOS software
*** NOTICE: This project will not support Windows 10! *************************

This project will explicitly not support Windows 10. Do not submit bug reports
or patches regarding Windows 10, they will be rejected. Patches and bug reports
for Windows 8 and earlier are still welcome.

*** NOTICE: Win32s support *****************

Win32s binaries compiled from this project will NOT run under
Windows 3.1 unless you use the latest version of the Open Watcom
v2.0 compiler. Earlier versions referred to symbols that don't
exist and make assumptions about the stack in ways that don't
pan out in Windows 3.1 (stack check fail).

*** Support ********************************

If you would like to help fund development, and the videos I produce about
MS-DOS, feel free to subscribe to me on Patreon:

    https://www.patreon.com/thegreatcodeholio

Your contributions help fund video production about MS-DOS and the
purchase of MS-DOS hardware and software to test and develop this
code. Any support is welcome.

********************************************

This is a collection of source code intended for DOS and DOS-level
use. It is intended to be used in other open source projects as well
as a learning tool for programmers who may want to learn hardware
level programming and low level details of the MS-DOS PC platform.

This code is designed to work with almost any commodity IBM PC/XT/AT/etc.
hardware out there, though most of it is written primarily to work with
mid 1990's Pentium-class hardware, or older, all the way down to the
original 8088-based PCs.

There is also code in this project to support NEC PC-9801 and NEC PC-9821
MS-DOS and Windows systems.

Each major branch of this source tree has a README file to describe
exactly what is provided.

Linux:
   Run ./buildall.sh to compile. Make sure the linux build of OpenWatcom
   is present in /usr/watcom/binl.

*** Source code formatting ****************************************

As of November 2016 all source changes should be carried out with your
text editor set to use soft tabs, NOT hard tabs, except for makefiles
or otherwise required.

You can do this in VIM by adding this to your .vimrc:

set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab

*** Debug/Release build modes *************************************

By default, binaries compiled with this project are in "release" mode.
The binaries will not contain debug information, traceable stack frames,
and will not contain the "stack overflow" runtime checks. This is to
keep the size of the binaries down.

To compile debug builds, set a DEBUG=1 environment variable in your
current shell or session before running ./make.sh or ./buildall.sh.
You can also immediately invoke a debug build like this:

DEBUG=1 ./make.sh

DEBUG=1 ./buildall.sh

More Repositories

1

dosbox-x

DOSBox-X fork of the DOSBox project
C
2,587
star
2

composite-video-simulator

Code to process video to simulate analog composite video.
C++
108
star
3

doslib2

Hackipedia DOSLIB2, a general collection of useful libraries and code for writing MS-DOS applications (2nd try)
C
35
star
4

minx86dec

Small x86 opcode decoder library
C
24
star
5

msdos11-oss-style

A branch of the released MS-DOS 1.1 and 2.0 source code, with ASM and OBJ files translated to enable compiling from source with open source tools
Perl
13
star
6

dosbox-rewrite

Fork and rewrite of DOSBox-X
C
11
star
7

iso-dist10

Cleanup of the ISO dist10.tar.gz source code (MPEG audio reference)
C
8
star
8

arj

Cleanup of the old ARJ source code to compile cleanly on modern systems and fixes to compile on 64-bit platforms
C
7
star
9

video-capture-v1-public

Video capture and archiving utility for Linux with command line and GTK+ GUI. Intended for use in archival quality VHS/Laserdisc or other analog capture.
C
5
star
10

floppytools

Floppy disk image tools
C++
4
star
11

ibm-pc-bible

A collection of IBM PC / DOS documentation, in HTML format.
HTML
4
star
12

vramfs

Experimental filesystem driver for the Linux kernel, that allows you to use video RAM as a filesystem
C
4
star
13

msdostest

Test suite and results of MS-DOS software testing
HTML
4
star
14

dosbox-svn

DOSBox SVN (clone of SVN repo to help coordinate any patches between DOSBox and DOSBox-X)
C
3
star
15

helpdeco

The old helpdeco code has some issues with formatting and compilation on 64-bit platforms, this is a cleanup
C
3
star
16

doslib3

DOSLIB 3.0, this time I'll keep it clean and organized.
M4
3
star
17

remote-x86

Old RS-232 remote control program.
C
3
star
18

fontgdi2

Old FONTGDI program, to change the font of your DOS prompt
Assembly
3
star
19

sega-genesis

Homebrew Sega Genesis experiments
Assembly
3
star
20

fixed-zoo

Fixed-up version of the ZOO archiver source code
C
3
star
21

jarchdvd

CD and DVD media archiving utility
C++
3
star
22

shex

A deliberately tiny hex editor for Linux.
C
3
star
23

swfhax

Some old code that dumps SWF Flash movies, written about 2012-ish
C
3
star
24

haxcc

My first attempt at a C compiler. I have some ideas to make a better DOS compiler, but this might eventually encompass more platforms. This probably won't support C++ for a long time.
C++
3
star
25

direct86

My early, pitiful attempt at writing an x86 emulator. Some code dates back to 1997.
C
2
star
26

doslib-examples

Examples of code, using DOSLIB as a submodule
C
2
star
27

squeeze

My copy of the "squeeze" archiving program
C
2
star
28

adapt-ffb-joy

Automatically exported from code.google.com/p/adapt-ffb-joy
C
2
star
29

jarchufi

Example program, using libusb to image a floppy through a USB floppy drive
C
2
star
30

ha_archiver

Copy of the HA archiver source code, cleaned up for use on my Linux system, done awhile back
C
2
star
31

gggggg

general games
C
2
star
32

a-pile-of-documentation

Various technical documentation, in electronically parseable format
Python
2
star
33

clocksync

Old time keeping library from the late 2000s
C
2
star
34

linuxdemokit

Demo kit of code for writing demoscene productions for Linux (and eventually, FreeBSD?)
C
2
star
35

bochsfb

Old framebuffer driver I wrote to control VBE extensions in Bochs and VirtualBox
C
2
star
36

heretic-improved

SDL port of Heretic, with improvements
C
2
star
37

sdlwolf3d-improved

SDL port of Wolfenstein 3D, with my own improvements and bug fixes
C
2
star
38

demotest

A collection of dosbox.conf files for testing
HTML
2
star
39

dvminigrab

MiniDV capture experiment from the late 2000s
C
1
star
40

experiments-i965

Old code from 2008-2009 to tinker with the Intel i965 graphics chipset
C
1
star
41

openwatcom-hackipedia

Open Watcom v1.9 hackipedia edition (with a focus on hosting with Linux)
C
1
star
42

tfed

C++
1
star
43

bochs-svn

Bochs SVN
C++
1
star
44

permanentrecord

C++
1
star
45

huedit

My lame attempt at an ncurses-based unicode remake of QEdit, plus some other documentation experiments (EDIT: not so lame anymore)
C
1
star
46

ansicnv

Code to support and work with ANSI terminal animation/graphics
C++
1
star
47

ioremapfb

ioremap framebuffer (for generic VGA support), for use with multi-VGA setups where uvesafb is impractical.
C
1
star
48

castus4-public

Public open source library for supporting Castus 4
C++
1
star
49

rawdvtools

Various tools to process MiniDV captures from the late 2000s
C
1
star
50

hackers-watcom-v2

A fork of Open Watcom v2 intended for bleeding edge hacks and features. Will not be 100% stable, but new fun features will appear and disappear.
C
1
star