Re: SPI on the User Port ... Mode Hang-Ups.



On Jan 29, 1:31 am, Jim Brain <br...@xxxxxxxxxx> wrote:
I was thinking about others that might want to use it. They would be
hard pressed to give up their RS232 port for this, unless someone
patched all the SW to use the alternate solution.

But if they have a serial cart, or a PC pretending to be a 1541, or an
Ethernet cart, or they have a cardreader on a PC/Linux box on the net
and use an MMC based sneakernet.

I am not sure that it can do anything but interfere with a User-Port
serial port, but on the other hand it *would* be an interface that
could access a serial port running faster than 9600, so there would be
a rationale for patching the most important software.

I'm struggling to think of anyway to share the two serial shift
registers between an SPI interface and a RS-232C interface, but I
don't see it, and sharing the SPI interface with an SPI UART is so
much more straightforward and has substantially higher bandwidth.

Instead, I think the way to share an RS-232C interface on the User
Port with an SPI backplane is to put a serial shift register in a cart
with a control register, and put the backplane on an expansion cart.

Mind you, this is just notional. I can see playing around with the
User Port, but probably not getting around to an expansion car.

But anyway, use the system clock and an 8-clock counter to drive the
SPI bus for 1Mbs. Its the same flash-ram internal and same female DB-9
connectors for homebrew SPI dongles. Since most of the parts are
normally for 16MHz, 33MHz or higher speeds, it would still be
massively under spec for them, but there'd have to be some provision
to stretch out the clock for Sony PS1 controllers.

For normal parts, there is a loop somewhere pulling out (or pumping
in)

LDY #0
- LDA (V),Y
STA SPI_DATA
INY
BNE -

and there is more than eight clocks between STA SPI_DATA, so except
for one extra byte at the beginning of a transaction for the UART
register, mode and R/W, its like writing to a UART wired into the
expansion cart.


So ultimately:

Dirty cheap, way slow, hacky interface: Daniel Dallman's 9600 BPS with
one female DB-9 connector, hacked driver to access the SPI by free
standing bit banding when the serial port is "closed", and integrated
into the RS-232C routines when the serial port is "open".

Still cheap, native CIA SPI: hog the whole User-Port, internal flash
ram and 3 SPI connectors. Hardware support for Mode 0, and native Mode
3.

Notional: SPI cartridge

Notional^2 ... 8MHz SPI datapump, with origin and/or destination
addresses, write a count from 1 to 8 in the pump primer, and DMA
acquires and/or fills that 1 to 8 bytes of data (if I understand
correctly that only taking acquiring 8 clocks in a transaction saves a
lot of grief).
.



Relevant Pages

  • Re: SPI Driver Interface
    ... The only thing that comes to my mind about SPI is Serial Peripheral ... Modify the SPI driver to mimic a serial port? ... Considering that the SPI interface is quite simple (no baudrate, parity, ...
    (microsoft.public.windowsce.embedded)
  • Re: Question regarding SPI (Serial Peripheral Interface)
    ... Synchronous Interface)? ... If your question was really can I connect a SSI encoder to the SPI ... I have done this on a Freescale HC08's SPI port simply by passing the ...
    (comp.arch.embedded)
  • Re: Additional Hardware Module with Xilinx MicroBlaze Processor
    ... a pcore for your LCD module. ... You can write to the fsl interface with the function putfslx, ... What I would like to do is define a GPIO port on the processor to ... and write to the FSL bus suffice? ...
    (comp.arch.fpga)
  • ng_one2many v.s. AFT (NIC Fault Tolerance/Fail Over/Redundancy Revisited)
    ... Then I was thinking about the OpenBSD/NetBSD bridgeinterface. ... Spanning Tree as an alogirth could provide Intel AFT ... illustrates, regardless of which interface is the root port, ARP replys ... Topology change flag not set, detected flag not set, changes 54 ...
    (freebsd-questions)
  • Re: ng_one2many v.s. AFT (NIC Fault Tolerance/Fail Over/Redundancy Revisited)
    ... Then I was thinking about the OpenBSD/NetBSD bridgeinterface. ... Spanning Tree as an alogirth could provide Intel AFT ... illustrates, regardless of which interface is the root port, ARP replys ... Topology change flag not set, detected flag not set, changes 54 ...
    (freebsd-questions)

Loading