Jump to content
IGNORED

PEB USB card


Vorticon

Recommended Posts

I was rummaging through a drawer yesterday and came across a brand new unpopulated Nouspikel USB PEB card. If memory serves, this did not gain traction because no DSR was written for it.

Any potential use for it nowadays? It's really a nice piece of work, although most of the components are SMD. 

  • Like 2
Link to comment
Share on other sites

I was just thinking of those about two days ago as I was going thru Thierry's site looking up info for the IDE card issue I'm dealing with. I'd like to tinker with one. Here is the software page https://www.unige.ch/medecine/nouspikel/ti99/usb2.htm. Being the other guys are talking DSR info on here, it might be a good discussion. 

Edited by RickyDean
Link to comment
Share on other sites

In looking at that page and other associated links, this is quite a complex project from a software standpoint. It also looks like that separate DSR's will need to be written depending on which device will be connected to the USB port, a major limitation. The card build will also be tricky as there are a good number of SMD components to solder.

I will have to really delve into the documentation, perhaps over the winter, and determine if it will be something I want to tackle as it might very well be above my pay grade. Damn it Jim! I'm a doctor, not a software engineer! :lol:

  • Like 1
  • Haha 4
Link to comment
Share on other sites

I've got a project way on the back burner that I was looking at, at the same time, for the use of super IO chips, made by SMC, the FDC37c665qf. I received two of these chips back in the mid 90's and about two/three years ago, mounted them on boards to start trying to interface to the TI/Geneve. They have floppy, usb, ide, joystick, serial, etc. capability and I feel that it would be a fun project, to learn as I go, especially in today's environment, as there is plenty of info on the web of small interface projects. My thought was to possibly leverage Thierry's usb design with mods to fit the SMC chip to the design and use existing code for at least some of it. That's about the gist of it.

Edited by RickyDean
added content
  • Like 3
Link to comment
Share on other sites

13 hours ago, Vorticon said:

I was rummaging through a drawer yesterday and came across a brand new unpopulated Nouspikel USB PEB card. If memory serves, this did not gain traction because no DSR was written for it.

Any potential use for it nowadays? It's really a nice piece of work, although most of the components are SMD. 

A friend of mine, Stephen Pelc,  in the UK has mentioned that writing a USB driver is a nightmare because of all the things it has to accommodate.

He is a software professional, retired founder of Microprocessor engineering. Makes me wonder how much 9900 code it would take to it go.

Perhaps we could build a sub-set of the features. ?

  • Like 3
Link to comment
Share on other sites

I am not an expert but, I did go to a talk on USB long ago, once upon a time.... if you're talking about HID class devices I think a DSR could probably be constructed to handle a wide variety of those devices... joysticks, keyboards, mice, etc... they all adhere to a more or less standard way of talking. Other devices though are more special and require specific driver code to support (outside of maybe storage devices... those may be more or less similar). But again, my experience with coding for USB is limited.

  • Like 4
Link to comment
Share on other sites

Here's a not too bad article on the USB protocols. 
 

https://www.electronicdesign.com/technologies/industrial/boards/article/21801151/how-to-create-and-program-usb-devices

 

I imagine that a coprocessor would be essential.  A turnkey USB host chip with a high level interface. Or going the hard way, an "Intelligent Peripheral".
 

At least, a 9995 to run the USB stack and hit the timing requirements. This might be beyond reach even for original 1.0 speed.
 

Then provide high level data to/from the 4A DSR. I like the TMS9650 chip for this. 
 

What about  device drivers? Modestly, keyboard, mouse, printer, storage... you need DSRs for the 4A to run.

 

You want ROM patches to make a keyboard useful.
 

You need to reimplement a disk or RS232 DSR on top of the USB layer. 
 


Big mountains to climb. 

 

  • Like 2
Link to comment
Share on other sites

https://www.beyondlogic.org/usbnutshell/usb1.shtml states:

 

USB in a NutShell

Making sense of the USB standard

Starting out new with USB can be quite daunting. With the USB 2.0 specification at 650 pages one could easily be put off just by the sheer size of the standard. This is only the beginning of a long list of associated standards for USB. There are USB Class Standards such as the HID Class Specification which details the common operation of devices (keyboards, mice etc) falling under the HID (Human Interface Devices) Class - only another 97 pages. If you are designing a USB Host, then you have three Host Controller Interface Standards to choose from. None of these are detailed in the USB 2.0 Spec.

The good news is you don’t even need to bother reading the entire USB standard. Some chapters were churned out by marketing, others aimed at the lower link layer normally taken care off by your USB controller IC and a couple aimed at host and hub developers. Lets take a little journey through the various chapters of the USB 2.0 specification and briefly introduce the key points.

 

 

 

 

So just maybe it wouldn't be quite as daunting as we assume?

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

38 minutes ago, Tursi said:

Honestly, there's little point these days. Load Linux on a PI, let it handle all the USB drivers, and just have it communicate with the TI. You get the free benefits of already debugged and all the drivers fit at once. ;)

 

Didn't you just describe a TIPI? ;)

  • Like 1
Link to comment
Share on other sites

14 minutes ago, Vorticon said:

So much work likely went into the design of that card. It's really a shame it never got anywhere. 

If I was to choose a single purpose for it, it would be to connect USB thumb drives as removable storage. Then only one DSR would have to be written.

I'd like to see thumb drives, keyboards, and mice. That's about the extent on the TI. Like to see an SD card socket instead of the Smart Media. But if Smart Media can still be bought to use one for dedicated storage on the usb card, then that wouldn't be bad either. And it looks like they can, on Amazon.

Edited by RickyDean
added content
Link to comment
Share on other sites

Thanks everyone, I have been looking at ways of creating a USB device without the specialised SMD chips. I am figuring a single function DSR and a USB 1.1 implementation is doable on a stock TI99. RickyDean's link has made my digging much simpler, I was also bamboozled by the 650 page wad, it left me cold. I will look into using old school through hole 74' type chips as well. The industry have cloaked the USB interface with corporate secrecy and not to be fiddled and hacked by the likes of the electronic hobbyist, it just makes the USB carrot more juicy. With so many bright minds here, I am sure we can crack this egg!! At present I have been preparing to write a DSR for one of my other projects, if we can work out the complete transmission procedure and map it to a set of differential serial ports, I think we can do it, regards Arto.     

  • Like 2
Link to comment
Share on other sites

17 hours ago, RickyDean said:

https://www.beyondlogic.org/usbnutshell/usb1.shtml states:

 

USB in a NutShell

Making sense of the USB standard

Starting out new with USB can be quite daunting. With the USB 2.0 specification at 650 pages one could easily be put off just by the sheer size of the standard. This is only the beginning of a long list of associated standards for USB. There are USB Class Standards such as the HID Class Specification which details the common operation of devices (keyboards, mice etc) falling under the HID (Human Interface Devices) Class - only another 97 pages. If you are designing a USB Host, then you have three Host Controller Interface Standards to choose from. None of these are detailed in the USB 2.0 Spec.

The good news is you don’t even need to bother reading the entire USB standard. Some chapters were churned out by marketing, others aimed at the lower link layer normally taken care off by your USB controller IC and a couple aimed at host and hub developers. Lets take a little journey through the various chapters of the USB 2.0 specification and briefly introduce the key points.

 

 

 

 

So just maybe it wouldn't be quite as daunting as we assume?

 

If it helps, I'm pretty familiar with USB, or used to be anyway.  I started the EHCI emulation for qemu back in 2008 https://github.com/qemu/qemu/blob/master/hw/usb/hcd-ehci.c

From what I remember it was pretty daunting.  Writing a HCI from scratch would be a huge project.  But interfacing to a HCI via SPI might be doable and then writing a DSR for HID and MSD classes mightn't be too bad.

  • Like 2
Link to comment
Share on other sites

What other USB devices than storage devices wouldn't require specialized software to be usable on the TI-99/4A? Keyboards, mice, joysticks, etc. would only work in programs designed to use them. That's in addition to DSR and 'drivers'. Of course you could always use the USB port to charge your phone 🙂

  • Haha 4
Link to comment
Share on other sites

14 hours ago, RickyDean said:

Does anyone have any idea how many of the PCB's for these were made? It'd be interesting to know if anyone has built theirs and made it work? Can the PCB's still be purchased from someone, maybe @Ksarul?

There was a single group buy done by the folks on one of the older online user groups. IIRC, about 40-50 of the boards were ordered by the group. I only know of a few people who assembled them, and that was mostly to use the Compact Flash part of the card. I think either @F.G. Kaal or @fabrice montupet might have tried to implement the USB side of the board, but I don't think that effort went very far.

  • Like 1
Link to comment
Share on other sites

On 10/6/2023 at 8:19 PM, Ksarul said:

There was a single group buy done by the folks on one of the older online user groups. IIRC, about 40-50 of the boards were ordered by the group. I only know of a few people who assembled them, and that was mostly to use the Compact Flash part of the card. I think either @F.G. Kaal or @fabrice montupet might have tried to implement the USB side of the board, but I don't think that effort went very far.

I have one of those cards but never brought it to live. This card was send to me more than 10 years ago by ...? (sergeant ? ... the III maybe ?) I could switch on and off the power on the USB port but was never able to to anything useful with it. I could not find any code example or application note that fully showed how to use that Philips USB chip. Also on the USB card I have every 8th or 16th byte (if I remember correctly) was unwritable. I was never able to find any problem or (soldering) error on the card.

 

The RAM selection posibilities on the USB card was also different from the IDE card wich (IMHO) made creating a DSR for it a bit hopeless. I like the fact that the IDE card has a fixed 4K at >4000-4FFF and selectable pages at >5000-5FFF. In this way you can have general subroutines and buffers in the low part. With the USB card every page is the whole 8Kb which means that the DSR header is also switched/paged in and out.

 

I have spent a lot of time on this card but was only able to switch a USB LED light on and off 🙂

I got stuck on the point where you connect something to the USB port (mouse / keyboard / memory stick) and the program should be able to read the device id and or characteristics.

 

PS: Don't ask me further details about this card ... I just can't remember. It is to long ago and I will not start over again.

 

UsbTest.zip

 

AN10005_1.pdf

Edited by F.G. Kaal
  • Like 4
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...