Skip to content

Issues with PC-1403H and PC-1401 #5

Open

Description

@arnowelzel

I managed to build the interface using an Arduino Nano and 47K pull down resistors as documented. I double checked all wiring before I connected the Arduino interface.

Sharp PC-1403H

CSAVE and CLOAD work as expected. I can send and receive tape files with the desktop app without any issues. However FILES, SAVE and LOAD only result produce ERROR 8 on the Sharp PC-1403H.

I don't have a real CE-140F to test if the PC-1403H would work with that - but PC-1403H supports disk drives in general and everything else works as well - so a real printer also works without issues. So I doubt that there is an hardware issue with the PC-1403H.

Sharp PC-1401

CLOAD works, but not CSAVE. Trying to do CSAVE will result in an endless "busy" loop on the Sharp PC-1401 without any result. I also noticed that the PC-1401 gets extremely slow and nearly unresponsive as soon as the Sharp Manager is connected.

I tested the devices with a Sharp program data recorder and a CE-124 cassette interface - this works fine and without issues.

Activity

  1. codaris commented on Jan 1, 2025

    @codaris
    Owner

    First of all, thanks for testing all this.

    Although you did double check, there might still be a wiring issue.

    The PC-1401 will go through the whole CSAVE cycle with nothing connected and it doesn't really care whether something is plugged in or not. I have experienced some weirdness while playing around with the wiring but since I soldered together my interface, it haven't had any issues.

    the PC-1401 gets extremely slow and nearly unresponsive as soon as the Sharp Manager is connected.

    Do you mean when the Arduino is connected to the PC-1401 or when Sharp Manager is connected to the Arduino? Sharp Manager itself shouldn't affect the PC-1401 at all whether it's connected or not. It sends nothing to the PC-1401 unless you're are doing a CLOAD.

  2. arnowelzel commented on Jan 1, 2025

    @arnowelzel
    ContributorAuthor

    the PC-1401 gets extremely slow and nearly unresponsive as soon as the Sharp Manager is connected.

    Do you mean when the Arduino is connected to the PC-1401 or when Sharp Manager is connected to the Arduino? Sharp Manager itself shouldn't affect the PC-1401 at all whether it's connected or not. It sends nothing to the PC-1401 unless you're are doing a CLOAD.

    As soon as the PC-1401 was connected to the Arduino and Sharp Manager connected as well.

    After doing some more tests I had to hard-reset the PC-1401 as it stopped working totally and just displayed the BUSY indicator even when turning it off.

    Now trying to do a CSAVE will not cause the PC-1401 to stop working but Sharp Manager won't accept data. Instead it displays "Unexpected command received":

    image

    With the PC-1403H it works fine - however not the CE-140F emulation, only tape. Edit: and yes, before testing the CE-140F functions I have selected a folder for the disk files of course.

  3. arnowelzel commented on Jan 1, 2025

    @arnowelzel
    ContributorAuthor

    About the wiring: I checked it once more - it is exactly as documented in https://codaris.github.io/SharpManager/. I may do some more tests using my oscilloscope to see what signals are going where.

  4. arnowelzel commented on Jan 1, 2025

    @arnowelzel
    ContributorAuthor

    I did another test with a Sharp PC-E500S which also has the 11-pin interface and is compatible to the same hardware as the PC-1403H.

    When I try to use FILES, SAVE, LOAD or printing, I get the follwowing error in Sharp Manager: Expected 01 but received 16.

    image

  5. codaris commented on Jan 1, 2025

    @codaris
    Owner

    After doing some more tests I had to hard-reset the PC-1401 as it stopped working totally and just displayed the BUSY indicator even when turning it off.

    The power switch on the Sharp computers is just another button, if the PC is busy then it won't do anything. The break key will actually work when the power key doesn't! For example, if you CSAVE and flip the power switch it will still continue. But if you hit the break key it will stop.

    Instead it displays "Unexpected command received":

    The sharp computer will send a device select command to the Arduino when you do a CSAVE (or another operation). This is optional but if the sharp computer sends it, the Arduino confirms that it's the "tape" device select command when doing a save operation. This is the error if that device select command is the wrong value.

  6. arnowelzel commented on Jan 1, 2025

    @arnowelzel
    ContributorAuthor

    After doing some more tests I had to hard-reset the PC-1401 as it stopped working totally and just displayed the BUSY indicator even when turning it off.

    The power switch on the Sharp computers is just another button, if the PC is busy then it won't do anything. The break key will actually work when the power key doesn't! For example, if you CSAVE and flip the power switch it will still continue. But if you hit the break key it will stop.

    The break key didn't work either - that's why I had to reset the device.

    Instead it displays "Unexpected command received":

    The sharp computer will send a device select command to the Arduino when you do a CSAVE (or another operation). This is optional but if the sharp computer sends it, the Arduino confirms that it's the "tape" device select command when doing a save operation. This is the error if that device select command is the wrong value.

    Ok, maybe I'll do some debugging then what is going on here.

  7. codaris commented on Jan 1, 2025

    @codaris
    Owner

    When I try to use FILES, SAVE, LOAD or printing, I get the follwowing error in Sharp Manager: Expected 01 but received 16

    Can you include you full debug log from the moment of connection with the "Show Debug Messages" enabled.

    This is really strange. That exception appears that it can only occur during Initialize() when Sharp Manager first connects to the Arduino. It's expected 0x01 (start of header) but getting (0x16) Sync -- which is within the realm of possibility. But it looks like it successfully initialized (that's how get the misspelled "Sharp Anduino Driver 1.1" message) so that code shouldn't even be running.

    There's a frame/packet based communication between the Arduino and the app. When you do FILES, SAVE, LOAD, or you print then the Arduino sends a "command" to the C# application and the applications responds similarly back. The easiest test is printing because that's really simple and there is no response back. You should be able print something and see it within the Sharp Manager display.

  8. codaris commented on Jan 1, 2025

    @codaris
    Owner

    The hang of the PC-1401 on CSAVE might be related to a wiring issue. It might be hanging while trying to send the device select code. This relies on the ACK pin. It might be worth focusing around there.

    Disk commands and printing also require the Sharp computer to correctly send the device select code.

  9. arnowelzel commented on Jan 1, 2025

    @arnowelzel
    ContributorAuthor

    All pins are connected properly, including the ACK pin.

    With the PC-1403H the debug output does not show anything at all:

    image

    With the PC-E500S I don't get the error message any longer, it just does not work at all now. However a real printer still works, so the devices are still ok so far.

  10. codaris commented on Jan 1, 2025

    @codaris
    Owner

    So if you connect and then do an LPRINT, does anything happen?

    Probably the next step is to create an Arduino firmware that just prints to serial monitor for debugging. I used to have a ton of debugging code in the Arduino firmware (it started without the desktop app) but once I got everything working I didn't need it anymore.

    The other possibility is to try maybe different resistor values... I'm sort of stumped here. The whole thing has worked perfectly for me for so long that I just don't know what the issue could be!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions