I searched for the filenames and found that MOUSSUBS.BAS and BITS.BAS are from Microsoft QuickBASIC Programmer's Toolbox, a 1988 Microsoft Press book by John Clark Craig.
(at least according to https://woodshole.er.usgs.gov/openfile/of2005-1001/htmldocs/software_doc/qbasic/rsa2000.htm )
This following page has a transcription of the book as it would have appeared on the Microsoft Programmer’s Library 1.3 CD-ROM:
https://www.pcjs.org/documents/books/mspl13/basic/qbtools/
According to that, MOUSE.ASM, MIXED.QLB and so forth were convenience libraries provided as type-in listings in the Microsoft book. You can find the listings you need in the transcription if you search for the following introductory paragraphs:
moussubs:
MOUSSUBS
The MOUSSUBS toolbox presents a collection of subprograms for accessing and using your mouse. Your computer must have CGA graphics capability > and a mouse for this program to be useful. If you have a mouse but are > limited to monochrome text modes, see the MOUSTCRS.BAS module.
The assembly-language subroutine named MOUSE.ASM must be assembled and linked with these routines or included in the user library loaded with QuickBASIC. See the MOUSE.ASM subprogram description in Part III of > this book for more information on doing this.
mouse.asm:
; ********************************************** ; ** MOUSE.ASM Macro Assembler ** ; ** ** ; ** Assembly subprogram for accessing the ** ; ** Microsoft Mouse from QuickBASIC 4.00 ** ; ** ** ; ** Use: CALL MOUSE (M1%, M2%, M3%, M4%) ** ; **********************************************
mixed.qlb:
MIXED.QLB consists of a handful of subprograms and functions written in assembly language and in Microsoft QuickC. (The assembly-language and C source listings for MIXED.QLB are in Part III.)
I'll look for the CD-ROM and see if there is an easier to copy listing for the files you need that I can copy here.
The CD-ROM appears to have the contents of the QuickBASIC Toolbox Companion Disks, where MOUSE.ASM is found.
SAMPCODE\QB\TOOLBOX\DISK1\MOUSE.ASM (This appears to be an interface wrapper to the standard mouse status interrupt.)
; ********************************************** ; ** MOUSE.ASM Macro Assembler ** ; ** ** ; ** Assembly subprogram for accessing the ** ; ** Microsoft Mouse from QuickBASIC 4.00 ** ; ** ** ; ** Use: CALL MOUSE (M1%, M2%, M3%, M4%) ** ; ********************************************** ; ; EXAMPLE OF USE: CALL Mouse (m1%, m2%, m3%, m4%) ; PARAMETERS: m1% Passed in AX to the mouse driver ; m2% Passed in BX to the mouse driver ; m3% Passed in CX to the mouse driver ; m4% Passed in DX to the mouse driver ; VARIABLES: (none) ; MODULE LEVEL ; DECLARATIONS: DECLARE SUB Mouse (m1%, m2%, m3%, m4%) .MODEL MEDIUM .CODE public mouse mouse proc ; Standard entry push bp mov bp,sp ; Get M1% and store it on the stack mov bx,[bp+12] mov ax,[bx] push ax ; Get M2% and store it on the stack mov bx,[bp+10] mov ax,[bx] push ax ; Get M3% into CX register mov bx,[bp+8] mov cx,[bx] ; Get M4% into DX register mov bx,[bp+6] mov dx,[bx] ; Move M2% from stack into BX register pop bx ; Move M1% from stack into AX register pop ax ; Set ES to same as DS (for mouse function 9) push ds pop es ; Do the mouse interrupt int 33h ; Save BX (M2%) on stack to free register push bx ; Return M1% from AX mov bx,[bp+12] mov [bx],ax ; Return M2% from stack (was BX) pop ax mov bx,[bp+10] mov [bx],ax ; Return M3% from CX mov bx,[bp+8] mov [bx],cx ; Return M4% from DX mov bx,[bp+6] mov [bx],dx ; Standard exit, assumes four variables passed pop bp ret 8 ; End of this procedure mouse endp end
MIXED.QLB is a binary library found in SAMPCODE\QB\TOOLBOX\DISK2\MIXED.QLB
Here's a zip of the QB Toolbox example and library disks from the CD-ROM https://x0.at/vkxx.zip . This zip should have the libraries you need to run your game. Apologies for the file host.
- MD5: 43514317669dec747c4bf5f928fd44d0
- SHA1: 5bb427b1782d3d0f7c47eb4ef66b7268bcb8d96c