Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Does anyone know how to talk to a memory stick?

Does anyone know how to talk to a memory stick?

Scheduled Pinned Locked Moved The Lounge
hardwareperformancequestionhtmljson
43 Posts 27 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G glennPattonWork3

    Looks neat, I just know PS2 ports are tough, never killed one, USB on the other hand I have blown up several occasions. I haven't tried low level reading with USB, I'm guessing it standard serial (bit in, shifted, byte full?) just a higher speeds... If memory serves Microchip did do a PDF on their web site that was quite helpful also Jan Axelsons USB complete is good, try looking at [Jan Axelson's Lakeview Research](http://janaxelson.com/) She is quite good with communications stuff...

    C Offline
    C Offline
    CodeWraith
    wrote on last edited by
    #10

    PS/2 would be the other option for keyboard and mouse. It also uses a serial protocol, but in the lower kHz frequencies. I could probably program a PIC16FXXX to do that, but hooking up a PIC to an 8 bit bus is awkward. With 20 MHz the PIC is to slow to respond to signals on the bus in time. Still, I would try this if everything else fails. In the old days memories were to slow and had to delay the processor. Now it's slowpoky microcontrollers who need the same treatment. Nothing ever changes. As for the mass storage: Serial ATA is a good candidate here. It's very much a direct read or write access from a 16 bit(!) bus to the drive's controller. With only an 8 bit bus things get slightly more complicated. Not that I want to dig out old obsolete hard disks. Compact flash memory cards use the serial ATA interface as well. One way or the other, I want a SSD for my old computer. :-) Edit: Look at this datasheet! A simple 8 bit parallel interface one one side and USB sticks or SD cards on the other. The commands to access the stick are also documented.

    I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

    1 Reply Last reply
    0
    • R RickZeeland

      Quote:

      Stick 'm up punk!

      :-\

      C Offline
      C Offline
      CodeWraith
      wrote on last edited by
      #11

      Put away Dirty Harry's .44 something! We are not in Texas here!

      I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

      R 1 Reply Last reply
      0
      • C CodeWraith

        I mean the low level protocol, not some framework, API or driver. In my ongoing quest to interface modern devices to very old 8 bit computers I have stumbled over this: DEBO USB TTL: Raspberry Pi -USB-TTL-Schnittstellenwandler, CH340G bei reichelt elektronik[^] Not really rocket science. With this I can send and receive bytes from a USB device with a simple UART. This would solve a few problems at once. A simple cheap memory stick would be all the hard disk' an 8 bit computer would ever need. Don't worry about speed. Mass storage is for many reasons a relatively slow affair on 8 bit computers, beginning with their low bandwith on the bus. Remember what Commodore did with the C64's floppy drives? I could also use a USB keyboard or a mouse. So, with that converter and a UART I can now talk to USB devices. Can I also hook up a USB hub to it and access several USB devices over the same UART? How do I select devices? How do I request or send bytes? Some kind of USB protocol with an embedded device specific protocol?

        I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

        H Offline
        H Offline
        honey the codewitch
        wrote on last edited by
        #12

        I don't know that a UART interface (RS232 or a variant?) would be fast enough to handle multiple sticks so that might be that your hardware adapter doesn't support device enumeration and always selects device 0. Not that an 8 bit device can keep up at the full rate anyway, but i'm more thinking from the manufacturer's standpoint here, not how you're using it particular. All speculative, but it's something to stick a mental pin in maybe. I don't remember how to select devices with the USB protocol although i know the specs are available online (i've perused them before), much less over your adapter. Sorry. I just thought i'd add the caveat above that it might not be possible with your interface, as i would hate to see you wind up on a wild goose chase.

        When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

        C 1 Reply Last reply
        0
        • H honey the codewitch

          I don't know that a UART interface (RS232 or a variant?) would be fast enough to handle multiple sticks so that might be that your hardware adapter doesn't support device enumeration and always selects device 0. Not that an 8 bit device can keep up at the full rate anyway, but i'm more thinking from the manufacturer's standpoint here, not how you're using it particular. All speculative, but it's something to stick a mental pin in maybe. I don't remember how to select devices with the USB protocol although i know the specs are available online (i've perused them before), much less over your adapter. Sorry. I just thought i'd add the caveat above that it might not be possible with your interface, as i would hate to see you wind up on a wild goose chase.

          When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

          C Offline
          C Offline
          CodeWraith
          wrote on last edited by
          #13

          It's a standard UART, as you would use for RS232, but without +/- 15V level shifting. This USB converter takes the TTL/CMOS level signals of the UART directly. Speed surprisingly is not much of a problem. This particular UART, a CDP1854, is specified to allow a whopping 200 kbit/sec as max. bitrate. Double that when you raise its second supply voltage to 10V. Not bad for a device from 1976. Back then they actually thought that CMOS was slow.

          I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

          H 1 Reply Last reply
          0
          • C CodeWraith

            It's a standard UART, as you would use for RS232, but without +/- 15V level shifting. This USB converter takes the TTL/CMOS level signals of the UART directly. Speed surprisingly is not much of a problem. This particular UART, a CDP1854, is specified to allow a whopping 200 kbit/sec as max. bitrate. Double that when you raise its second supply voltage to 10V. Not bad for a device from 1976. Back then they actually thought that CMOS was slow.

            I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

            H Offline
            H Offline
            honey the codewitch
            wrote on last edited by
            #14

            Wow, that's better than I expected. But your little 8bit monster can't keep up with that unless your clocking is insane haha. I ran a 56k baud modem in an old XT once just for grins (one of the rare ones that was small ISA) and the poor thing couldn't even operate at 33.6 :laugh:

            When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

            C 1 Reply Last reply
            0
            • D dan sh

              I talk to it sometimes. Something along these lines: "Just get in to the slot you little..."

              "It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[^]

              D Offline
              D Offline
              dandy72
              wrote on last edited by
              #15

              lw@zi wrote:

              I talk to it sometimes. Something along these lines: "Just get in to the slot you little..."

              Has it ever responded with, "wrong way - flip me over"?

              D F M O 4 Replies Last reply
              0
              • D dandy72

                lw@zi wrote:

                I talk to it sometimes. Something along these lines: "Just get in to the slot you little..."

                Has it ever responded with, "wrong way - flip me over"?

                D Offline
                D Offline
                dan sh
                wrote on last edited by
                #16

                That would be scary at first and then helpful. I can almost see another useless IoT device in the making.

                "It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[^]

                1 Reply Last reply
                0
                • C CodeWraith

                  I mean the low level protocol, not some framework, API or driver. In my ongoing quest to interface modern devices to very old 8 bit computers I have stumbled over this: DEBO USB TTL: Raspberry Pi -USB-TTL-Schnittstellenwandler, CH340G bei reichelt elektronik[^] Not really rocket science. With this I can send and receive bytes from a USB device with a simple UART. This would solve a few problems at once. A simple cheap memory stick would be all the hard disk' an 8 bit computer would ever need. Don't worry about speed. Mass storage is for many reasons a relatively slow affair on 8 bit computers, beginning with their low bandwith on the bus. Remember what Commodore did with the C64's floppy drives? I could also use a USB keyboard or a mouse. So, with that converter and a UART I can now talk to USB devices. Can I also hook up a USB hub to it and access several USB devices over the same UART? How do I select devices? How do I request or send bytes? Some kind of USB protocol with an embedded device specific protocol?

                  I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                  D Offline
                  D Offline
                  Daniel Pfeffer
                  wrote on last edited by
                  #17

                  Memory sticks use the USB protocol, which is available at [www.usb.org](http://www.usb.org). The higher-level software protocol is typically USB attached SCSI (UAS), available from the same place. I don't know what protocol is used for mice, keyboards, or hubs, but I'm sure that you can find it on the site as well.

                  Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                  D 1 Reply Last reply
                  0
                  • C CodeWraith

                    Put away Dirty Harry's .44 something! We are not in Texas here!

                    I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                    R Offline
                    R Offline
                    RickZeeland
                    wrote on last edited by
                    #18

                    Sorry, was in a bad mood because so called "bugs" were reported that turned out to be part of the functionality, well they know how to keep me busy. Good that I did not have a .44 at hand :-\

                    1 Reply Last reply
                    0
                    • C CodeWraith

                      I mean the low level protocol, not some framework, API or driver. In my ongoing quest to interface modern devices to very old 8 bit computers I have stumbled over this: DEBO USB TTL: Raspberry Pi -USB-TTL-Schnittstellenwandler, CH340G bei reichelt elektronik[^] Not really rocket science. With this I can send and receive bytes from a USB device with a simple UART. This would solve a few problems at once. A simple cheap memory stick would be all the hard disk' an 8 bit computer would ever need. Don't worry about speed. Mass storage is for many reasons a relatively slow affair on 8 bit computers, beginning with their low bandwith on the bus. Remember what Commodore did with the C64's floppy drives? I could also use a USB keyboard or a mouse. So, with that converter and a UART I can now talk to USB devices. Can I also hook up a USB hub to it and access several USB devices over the same UART? How do I select devices? How do I request or send bytes? Some kind of USB protocol with an embedded device specific protocol?

                      I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                      R Offline
                      R Offline
                      realJSOP
                      wrote on last edited by
                      #19

                      Whatever you do, during the conversation, don't mention it's size. Memory sticks hate that. Also, avoid the question "Does my capacity look big in this USB port?" It's a trick question that can never be answered to the memory stick's satisfaction.

                      ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                      -----
                      You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                      -----
                      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                      C 1 Reply Last reply
                      0
                      • D dandy72

                        lw@zi wrote:

                        I talk to it sometimes. Something along these lines: "Just get in to the slot you little..."

                        Has it ever responded with, "wrong way - flip me over"?

                        F Offline
                        F Offline
                        Forogar
                        wrote on last edited by
                        #20

                        Quote:

                        "wrong way - flip me over"?

                        I had a girlfriend say that to me once, long, long ago.

                        - I would love to change the world, but they won’t give me the source code.

                        C D 2 Replies Last reply
                        0
                        • H honey the codewitch

                          Wow, that's better than I expected. But your little 8bit monster can't keep up with that unless your clocking is insane haha. I ran a 56k baud modem in an old XT once just for grins (one of the rare ones that was small ISA) and the poor thing couldn't even operate at 33.6 :laugh:

                          When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                          C Offline
                          C Offline
                          CodeWraith
                          wrote on last edited by
                          #21

                          No, it will not, despite going with a (then) ridiculous clock frequency of up to 6.4 MHz and, as one of the earliest CMOS processors, being famous for reckless overclocking decades before such things came into fashion on PCs. I just leave it to the UART's RTS/CTS signals to take care that not a single bit is lost and let the processor pick up the bytes as fast as it can. I can live with getting 'only' 100%. :-)

                          I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                          H 1 Reply Last reply
                          0
                          • C CodeWraith

                            No, it will not, despite going with a (then) ridiculous clock frequency of up to 6.4 MHz and, as one of the earliest CMOS processors, being famous for reckless overclocking decades before such things came into fashion on PCs. I just leave it to the UART's RTS/CTS signals to take care that not a single bit is lost and let the processor pick up the bytes as fast as it can. I can live with getting 'only' 100%. :-)

                            I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                            H Offline
                            H Offline
                            honey the codewitch
                            wrote on last edited by
                            #22

                            forgive me if i missed it somewhere, but which CPU are you using? 6502 holds a special place in my black little 8 bit heart.

                            When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                            1 Reply Last reply
                            0
                            • D Daniel Pfeffer

                              Memory sticks use the USB protocol, which is available at [www.usb.org](http://www.usb.org). The higher-level software protocol is typically USB attached SCSI (UAS), available from the same place. I don't know what protocol is used for mice, keyboards, or hubs, but I'm sure that you can find it on the site as well.

                              Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                              D Offline
                              D Offline
                              Dan Neely
                              wrote on last edited by
                              #23

                              yup, and AIUI it's a fairly complex protocol to implement properly; you can't just bitbang it via a simple GPIO pin on a microcontroller. To bridge a retroPC to a USb stick what you probably would need to do is to have an RPi/etc that speaks both RS232 (or that can bit-bang whatever retro-protocol that the target computer expects to get its IO on) and USB; and then write an application on it that can translate from USB to retro IO.

                              Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                              C 1 Reply Last reply
                              0
                              • R realJSOP

                                Whatever you do, during the conversation, don't mention it's size. Memory sticks hate that. Also, avoid the question "Does my capacity look big in this USB port?" It's a trick question that can never be answered to the memory stick's satisfaction.

                                ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                -----
                                You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                -----
                                When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                C Offline
                                C Offline
                                CodeWraith
                                wrote on last edited by
                                #24

                                That's not the worst. Memory sticks never forget any of your mistakes and also store the exact date and time of every (non)event. Just forget any one of them and you suddently must sleep on your couch or in the dog house.

                                I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                                1 Reply Last reply
                                0
                                • F Forogar

                                  Quote:

                                  "wrong way - flip me over"?

                                  I had a girlfriend say that to me once, long, long ago.

                                  - I would love to change the world, but they won’t give me the source code.

                                  C Offline
                                  C Offline
                                  CodeWraith
                                  wrote on last edited by
                                  #25

                                  If this were not the place it is, I would now ask you by which coordinate axis you flipped her over and if that was the right choice.

                                  I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                                  F K 2 Replies Last reply
                                  0
                                  • D Dan Neely

                                    yup, and AIUI it's a fairly complex protocol to implement properly; you can't just bitbang it via a simple GPIO pin on a microcontroller. To bridge a retroPC to a USb stick what you probably would need to do is to have an RPi/etc that speaks both RS232 (or that can bit-bang whatever retro-protocol that the target computer expects to get its IO on) and USB; and then write an application on it that can translate from USB to retro IO.

                                    Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                    C Offline
                                    C Offline
                                    CodeWraith
                                    wrote on last edited by
                                    #26

                                    Dan Neely wrote:

                                    To bridge a retroPC to a USb stick what you probably would need to do is to have an RPi/etc that speaks both RS232 (or that can bit-bang whatever retro-protocol that the target computer expects to get its IO on) and USB; and then write an application on it that can translate from USB to retro IO.

                                    Look at the adapter module that I posted the link to. It's actually intended to be used with a Raspy. The conversion magic is done in the lonely chip on the small board. On one side you have the USB port and on the other side you have the four signals for a UART plus ground, at TTL/CMOS levels and not shifted to RS232 levels. That should work with any UART, 8 bit computer or not. Provided that works as advertised, the big question is what I will have to send over my UART and what response I will get. Maybe I should look for some Raspy users to tell me what they use the adapter for and how they access the USB devices with it.

                                    I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                                    1 Reply Last reply
                                    0
                                    • C CodeWraith

                                      I mean the low level protocol, not some framework, API or driver. In my ongoing quest to interface modern devices to very old 8 bit computers I have stumbled over this: DEBO USB TTL: Raspberry Pi -USB-TTL-Schnittstellenwandler, CH340G bei reichelt elektronik[^] Not really rocket science. With this I can send and receive bytes from a USB device with a simple UART. This would solve a few problems at once. A simple cheap memory stick would be all the hard disk' an 8 bit computer would ever need. Don't worry about speed. Mass storage is for many reasons a relatively slow affair on 8 bit computers, beginning with their low bandwith on the bus. Remember what Commodore did with the C64's floppy drives? I could also use a USB keyboard or a mouse. So, with that converter and a UART I can now talk to USB devices. Can I also hook up a USB hub to it and access several USB devices over the same UART? How do I select devices? How do I request or send bytes? Some kind of USB protocol with an embedded device specific protocol?

                                      I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                                      Richard Andrew x64R Offline
                                      Richard Andrew x64R Offline
                                      Richard Andrew x64
                                      wrote on last edited by
                                      #27

                                      Forgive me, but how exactly do you think that USB interface device will help you? That interface device functions as a USB client. What you need is a device that can function as a USB host. The memory stick would be the client and the host device is what would talk to it and relay the information to your 8-bit.

                                      The difficult we do right away... ...the impossible takes slightly longer.

                                      C 1 Reply Last reply
                                      0
                                      • Richard Andrew x64R Richard Andrew x64

                                        Forgive me, but how exactly do you think that USB interface device will help you? That interface device functions as a USB client. What you need is a device that can function as a USB host. The memory stick would be the client and the host device is what would talk to it and relay the information to your 8-bit.

                                        The difficult we do right away... ...the impossible takes slightly longer.

                                        C Offline
                                        C Offline
                                        CodeWraith
                                        wrote on last edited by
                                        #28

                                        Thanks. I had to find the datasheet of the chip on the adapter to finally find out what it is for. Like you say, the USB side goes to a PC, which then is the host and the UART side of the adapter goes to a client that only has a UART and can then act as a USB client. It would have been too easy. Back to plan B then. PS/2 for keyboard and mouse, serial ATA to access compact flash memory cards.

                                        I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                                        1 Reply Last reply
                                        0
                                        • C CodeWraith

                                          I mean the low level protocol, not some framework, API or driver. In my ongoing quest to interface modern devices to very old 8 bit computers I have stumbled over this: DEBO USB TTL: Raspberry Pi -USB-TTL-Schnittstellenwandler, CH340G bei reichelt elektronik[^] Not really rocket science. With this I can send and receive bytes from a USB device with a simple UART. This would solve a few problems at once. A simple cheap memory stick would be all the hard disk' an 8 bit computer would ever need. Don't worry about speed. Mass storage is for many reasons a relatively slow affair on 8 bit computers, beginning with their low bandwith on the bus. Remember what Commodore did with the C64's floppy drives? I could also use a USB keyboard or a mouse. So, with that converter and a UART I can now talk to USB devices. Can I also hook up a USB hub to it and access several USB devices over the same UART? How do I select devices? How do I request or send bytes? Some kind of USB protocol with an embedded device specific protocol?

                                          I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                                          J Offline
                                          J Offline
                                          Jacquers
                                          wrote on last edited by
                                          #29

                                          [USBlyzer - USB Protocol Analyzer and USB Traffic Sniffer for Windows](https://www.usblyzer.com)

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups