Maniac

Maniac was my second graphics game finished in ’91. I used a mixture of Turbo Pascal 5.5 with Objects and Assembly with CGA graphics using a 286. I taught myself assembly language and object oriented programming. The game is modeled after Ultima III on Apple IIe. The player can make a party of characters with various classes and fights to destroy the evil Maniac Device. The most interesting part of creating this game was the map and other data editors. Freeware didn’t get me anywhere. I didn’t get my first game published until around ’94 with Ironseed.

unit gmouse;
interface

type
 mousetype = object
 error,but1,but2,but3:boolean;
 buttons:byte;
 procedure show;
 procedure hide;
 constructor initialize;
 function getx :integer;
 function gety :integer;
 function getstatus(button:byte) : boolean;
 procedure setxy(x1,y1:integer);
 procedure sethoriz(xmin,xmad1:integer);
 procedure setvert(ymin,ymad1:integer);
 procedure setsensitivity(xratio,yratio:integer);
 end;
title MouseFunctions

data segment
 assume ds:data
 extrn ad1:word,ad2:word,ad3:word,ad4:word
data ends

code segment byte public
 assume cs:code
 public mouseint
 mouseint proc near
  push sp
  mov ax,ad1
  mov bx,ad2
  mov cx,ad3
  mov dx,ad4
  int 51
  mov ad1,ax
  mov ad2,bx
  mov ad3,cx
  mov ad4,dx
  pop sp
  ret near
 mouseint endp
code ends

end