--- /dev/null
+*.obj
+*.swp
+*.exe
+*.lnk
+*.occ
+*.err
+*.map
--- /dev/null
+!ifdef __UNIX__
+obj = src/main.obj src/video.obj
+!else
+obj = src\main.obj src\video.obj
+!endif
+bin = dosplash.exe
+
+warn = -w=3
+dbg = -d3
+
+CC = wcc
+LD = wlink
+CFLAGS = $(warn) $(dbg) $(opt) $(def) -zq -bt=dos -ml
+
+$(bin): $(obj)
+ %write obj.lnk $(obj)
+ $(LD) debug all option map name $@ system dos file { @obj }
+
+.c: src
+.asm: src
+
+cflags.occ: Makefile
+ %write $@ $(CFLAGS)
+
+.c.obj: .autodepend
+ $(CC) -fo=$@ @cflags.occ $[*
+
+.asm.obj:
+ nasm -f obj -o $@ $[*.asm
+
+!ifdef __UNIX__
+clean: .symbolic
+ rm -f $(obj)
+ rm -f $(bin)
+ rm -f cflags.occ obj.lnk
+!else
+clean: .symbolic
+ del *.obj
+ del obj.lnk
+ del cflags.occ
+ del $(bin)
+!endif
--- /dev/null
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <conio.h>
+#include <dos.h>
+#include "video.h"
+
+int main(int argc, char **argv)
+{
+ set_video_mode(0x13);
+
+ memset(MK_FP(0xa000, 0), 4, 64000);
+
+ for(;;) {
+ if(kbhit()) {
+ if(getch() == 27) break;
+ }
+ }
+
+ set_video_mode(3);
+ return 0;
+}
--- /dev/null
+#include <dos.h>
+#include "video.h"
+
+void set_video_mode(int mode)
+{
+ union REGS regs = {0};
+
+ regs.x.ax = mode;
+ int86(0x10, ®s, ®s);
+}
--- /dev/null
+#ifndef VIDEO_H_
+#define VIDEO_H_
+
+void set_video_mode(int mode);
+
+#endif /* VIDEO_H_ */