// ###########################################################################
// #
// # OSCAMouse - Implementation of OSCA Mouse Emulation
// # Copyright (C) 2009-2011 Tony Friery [DialTone]
// #
// # ALL RIGHTS RESERVED
// #
// ###########################################################################

#pragma hdrstop

#include <stdio.h>
#include "OSCAMouse.h"
#include "FormDiag.h"

//---------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////
//
//  FUNCTION:  TOSCAMouse::GotByte
//
//  PURPOSE:	Notification from the Base PS2 Handler that a byte
//					has been clocked in from the host processor to the PS2
//					device, so this now needs to be acted upon
//
//  INPUTS:		byte					Byte data which was clocked in
//
//  OUTPUT:		void
//
///////////////////////////////////////////////////////////////////////
void __fastcall TOSCAMouse::GotByte(byte Value)
{
	// This means that the host has sent a byte of
	// data to the mouse device
}

///////////////////////////////////////////////////////////////////////
//
//  FUNCTION:  TOSCAMouse::Reset
//
//  PURPOSE:	Perform a Power-On Reset of the Mouse Device
//
//  INPUTS:		void
//
//  OUTPUT:		void
//
///////////////////////////////////////////////////////////////////////
void __fastcall TOSCAMouse::Reset()
{
	if ((DiagForm) && (DiagForm->IsActive(DIAG_KBMOUSE)))
	{
		DiagForm->AddMessage(DIAG_KBMOUSE, L"Mouse Reset");
	}

	// This is fairly naughty - no real need to be a
	// virtual function, but it allows complete control over
	// the reset process if required whilst still allowing
	// the more conventional non-virtual way of doing things!
	TOSCAPS2Device::Reset();
}

///////////////////////////////////////////////////////////////////////
//
//  FUNCTION:  TOSCAMouse::TOSCAMouse [CONSTRUCTOR]
//
//  PURPOSE:	Constructor for the Mouse Handler Class
//
//  INPUTS:		none
//
//  OUTPUT:		none
//
///////////////////////////////////////////////////////////////////////
__fastcall TOSCAMouse::TOSCAMouse()
{
}

#pragma package(smart_init)

