2020-08-28 14:18:02 +00:00
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
//
|
|
|
|
|
// SCSI Target Emulator RaSCSI (*^..^*)
|
|
|
|
|
// for Raspberry Pi
|
|
|
|
|
//
|
|
|
|
|
// Copyright (C) 2001-2006 PI.(ytanaka@ipc-tokai.or.jp)
|
|
|
|
|
// Copyright (C) 2014-2020 GIMONS
|
2021-03-08 01:29:30 +00:00
|
|
|
|
// Copyright (C) akuker
|
2020-08-28 14:18:02 +00:00
|
|
|
|
//
|
2021-03-08 01:29:30 +00:00
|
|
|
|
// Licensed under the BSD 3-Clause License.
|
|
|
|
|
// See LICENSE file in the project root folder.
|
2020-08-28 14:18:02 +00:00
|
|
|
|
//
|
2021-03-08 01:29:30 +00:00
|
|
|
|
// [ SCSI Magneto-Optical Disk]
|
2020-08-28 14:18:02 +00:00
|
|
|
|
//
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "os.h"
|
|
|
|
|
#include "disk.h"
|
|
|
|
|
#include "filepath.h"
|
|
|
|
|
|
|
|
|
|
//===========================================================================
|
|
|
|
|
//
|
|
|
|
|
// SCSI magneto-optical disk
|
|
|
|
|
//
|
|
|
|
|
//===========================================================================
|
|
|
|
|
class SCSIMO : public Disk
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
// Basic Functions
|
2021-03-08 01:29:30 +00:00
|
|
|
|
SCSIMO(); // Constructor
|
2021-08-09 23:56:13 +00:00
|
|
|
|
void Open(const Filepath& path, BOOL attn = TRUE); // Open
|
2020-08-28 14:18:02 +00:00
|
|
|
|
|
|
|
|
|
// commands
|
2021-07-26 18:33:36 +00:00
|
|
|
|
int Inquiry(const DWORD *cdb, BYTE *buf, DWORD major, DWORD minor); // INQUIRY command
|
|
|
|
|
BOOL ModeSelect(const DWORD *cdb, const BYTE *buf, int length); // MODE SELECT(6) command
|
2020-08-28 14:18:02 +00:00
|
|
|
|
|
|
|
|
|
// Internal processing
|
2021-07-26 18:33:36 +00:00
|
|
|
|
int AddVendor(int page, BOOL change, BYTE *buf); // Add vendor special page
|
2021-07-20 13:32:44 +00:00
|
|
|
|
};
|