small adjustments (nw)

This commit is contained in:
yz70s 2016-07-09 19:22:22 +02:00
parent df06773731
commit e2710f964d
2 changed files with 10 additions and 11 deletions

View File

@ -733,9 +733,13 @@ int ohci_hlean2131qc_device::handle_nonstandard_request(int endpoint, USBSetupPa
// default valuse for data stage
for (int n = 0; n < setup->wLength; n++)
endpoints[endpoint].buffer[n] = 0x50 ^ n;
endpoints[endpoint].buffer[1] = 0x4b; // PINSA register, bits 4-1 special value, must be 10 xor 15, but bit 3 is ignored since its used as the CS pin of the chip
endpoints[endpoint].buffer[2] = 0x52; // PINSB register, bit 4 connected to re/de pins of max485, bits 2-3 used as uart pins, bit 0 is the sense pin of the jvs connector
endpoints[endpoint].buffer[3] = 0x53; // OUTB register
// PINSA register, bits 4-1 special value, must be 10 xor 15, but bit 3 is ignored since its used as the CS pin of the chip
endpoints[endpoint].buffer[1] = 0x4b;
// PINSB register, bit 4 connected to re/de pins of max485, bits 2-3 used as uart pins, bit 0-1 is the sense pin of the jvs connector
// if bits 0-1 are 11, the not all the connected jvs devices have been assigned an address yet
endpoints[endpoint].buffer[2] = 0x52|3;
// OUTB register
endpoints[endpoint].buffer[3] = 0x53;
// bRequest is a command value
if (setup->bRequest == 0x16)
{
@ -772,8 +776,8 @@ int ohci_hlean2131qc_device::handle_nonstandard_request(int endpoint, USBSetupPa
// data for the packets will be transferred to the host using endpoint 4 (IN)
// the nuber of bytes to transfer is returned at bytes 4 and 5 in the data stage of this control transfer
// data transferred starts with a byte with value 0, then a byte with value the number of packets received, then a block of bytes for each packet
// the bytes for a packet start with the jvs node address, then a dummy one, then a 16 bit number in little endian format that specifies how many bytes follow
// the bytes that follow contain the body of the packet as received from the jvs bus
// the bytes for a packet start with the jvs node address, then a dummy one (must be 0), then a 16 bit number in little endian format that specifies how many bytes follow
// the bytes that follow contain the body of the packet as received from the jvs bus, from the 0xa0 byte to the checksum
endpoints[endpoint].buffer[0] = 0; // 0 if not busy
endpoints[endpoint].buffer[5] = tosend >> 8; // amount to transfer with endpoint 4
endpoints[endpoint].buffer[4] = (tosend & 0xff);

View File

@ -1,13 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:Samuele Zannoli
#include <functional>
#include "emu.h"
#include "cpu/i386/i386.h"
#include "machine/lpci.h"
#include "machine/pic8259.h"
#include "machine/pit8253.h"
#include "machine/idectrl.h"
#include "video/poly.h"
#include "bitmap.h"
@ -18,7 +13,7 @@
//#define LOG_OHCI
/*
* ohci usb controller
* Ohci usb controller
*/
#ifdef LOG_OHCI