Jump to content
IGNORED

RespeQt on Raspberry Pi?


Smokeless Joe

Recommended Posts

  • 4 months later...

So for what it's worth, I downloaded the current repository from Git on the RPi2 that I use for SIO emulation with my A8 machines. I experimented with manually setting the POKEY divisor but haven't changed the error delay timing at all ... at any rate, my first try let me boot my 800XL with a nifty little speed boost. :)

 

post-30400-0-97640800-1469403233_thumb.jpg

Link to comment
Share on other sites

Okay, so a little follow-up. On my RPi2, I can go as low as POKEY divisor 3 and get reliable transfers at a bit over 89 kbps. Any higher causes stuttering and dropping back to 19.2. So far as I can tell, changing the delay timing from the default 860 µs makes things worse rather than better, whether I increase the delay or lower it.

Link to comment
Share on other sites

  • 7 months later...

Any advice on how I can get this running on my PogoPlug (v2), running ArchLinux? Assume I know enough about the command line in Linux to be dangerous...

 

I don't know what a PogoPlug is, but if it has enough storage and can run X applications, you should be able follow the installation instructions up-thread.

 

Personally, I've built and run RespeQt on both an RPi3 and RPi2, and I just tonight ordered a new RPi ZeroW that I plan to try it on. If it works well enough, I'm eventually going to find a way to interface it with a touchscreen and mount the whole thing inside a dead Atari peripheral.

  • Like 1
Link to comment
Share on other sites

Please update us once you have had a chance to experiment. I'd like to benefit from your hard work. :)

 

I received my Pi Zero W this afternoon and I'm happy to report success! RespeQt is working great, serving up files to my 800XL easily at 57,600 bps. I haven't yet experimented with the software modes for higher speeds.

 

One caveat - the Pi Zero W with its limited RAM and single-core processor is a lot slower at compiling; it took me well over 30 minutes to compile RespeQt (as opposed to about 10 minutes on my RPi2 that I had previously been using).

  • Like 3
Link to comment
Share on other sites

Okay, today I did a bit more testing. My device nominally uses DSR handshaking. With that left as-is, RespeQt on the RPi Zero W can easily handle POKEY divisor 3 speeds (~89kbps). With handshaking set to NONE, I can safely boot and load files at POKEY divisor 0, 125kpbs. Admittedly, I didn't do much testing beyond booting Atari DOS 2.5, load a small BASIC file, and test-booting a couple of .XEX's, but it all worked great.

 

I can't WAIT until I can integrate a touch display and build a small standalone widget!

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

I'm playing with connecting the Raspberry Pi Zero W UART through an SIO23v3 (https://oshpark.com/shared_projects/cvBmkVl4) voltage shifter.

 

I've noticed that whenever I have the Atari off, the Pi's CPU pegs out at 100% and stays there. When I turn the Atari on and the actual data transfer begins, CPU use drops to around 20%. Curious if this is a software bug or if there is an explanation for why it happens?

 

The user manual references HIAS' AtariSIO. It says it requires an RS232. Wondering if it actually requires the RS232 or if it would work over RPI UART? If yes, what advantage would it bring over using the ttyAMA0?

 

I originally had some real problems connecting via ttyAMA0. In the process I learned a few things. The RPI3 and Zero W both use ttyAMA0 for bluetooth. Apparently they added an additional serial port (ttySO) but it is partially implemented via software and I couldn't get it to connect at all.

First, I used sudo raspi-config to disable Console from the Serial but enable Serial. I then forced bluetooth to use ttySO via the following:

$ sudo nano /boot/config.txt and added: dtoverlay=pi3-miniuart-bt

Save and reboot.

I realize the overlay is specific to pi3, but it worked for me on the Zero W. It is also suggested to set core_freq=250 to enable bluetooth to actually work. I am not sure if that setting would be the same for the Zero W and don't need actually bluetooth for the moment, so I didn't mess with it.

Here is the original article I followed:
http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/


Edited by dkerfoot
Link to comment
Share on other sites

I'm playing with connecting the Raspberry Pi Zero W UART through an SIO23v3 (https://oshpark.com/shared_projects/cvBmkVl4) voltage shifter.

 

I've noticed that whenever I have the Atari off, the Pi's CPU pegs out at 100% and stays there. When I turn the Atari on and the actual data transfer begins, CPU use drops to around 20%. Curious if this is a software bug or if there is an explanation for why it happens?

 

The user manual references HIAS' AtariSIO. It says it requires an RS232. Wondering if it actually requires the RS232 or if it would work over RPI UART? If yes, what advantage would it bring over using the ttyAMA0?

 

I originally had some real problems connecting via ttyAMA0. In the process I learned a few things. The RPI3 and Zero W both use ttyAMA0 for bluetooth. Apparently they added an additional serial port (ttySO) but it is partially implemented via software and I couldn't get it to connect at all.

 

First, I used sudo raspi-config to disable Console from the Serial but enable Serial. I then forced bluetooth to use ttySO via the following:

 

$ sudo nano /boot/config.txt and added: dtoverlay=pi3-miniuart-bt

Save and reboot.

I realize the overlay is specific to pi3, but it worked for me on the Zero W. It is also suggested to set core_freq=250 to enable bluetooth to actually work. I am not sure if that setting would be the same for the Zero W and don't need actually bluetooth for the moment, so I didn't mess with it.

 

Here is the original article I followed:

http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/

 

 

 

 

Regarding your connection between RPI and ATARI.

I guess you didn't connect a command line, did you?

In case you didn't and you use "NONE" or "SOFTWARE" handshake, a high CPU load is normal (RespeQt tries to read data all the time).

 

Do you use r4?

https://github.com/jzatarski/RespeQt/releases/tag/r4

 

Long time ago I played with RPI 1:

http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/

and I remember that there was only TxD and RxD signals available on the GPIO PINs at that time.

 

Regarding AtariSIO from HIAS - it is not possible on RPI.

AtariSIO is a device driver, which requires a UART triggering a IRQ when a single byte is in an input buffer.

HIAS explained me that the UART in Broadcom chip used in RPI can only trigger an IRQ, when at least 2 bytes are there... NO GO

 

My recommendation - use the USB version of a SIO2PC cable :)

Link to comment
Share on other sites

 

Regarding your connection between RPI and ATARI.

I guess you didn't connect a command line, did you?

In case you didn't and you use "NONE" or "SOFTWARE" handshake, a high CPU load is normal (RespeQt tries to read data all the time).

 

Do you use r4?

https://github.com/jzatarski/RespeQt/releases/tag/r4

 

Long time ago I played with RPI 1:

http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/

and I remember that there was only TxD and RxD signals available on the GPIO PINs at that time.

 

Regarding AtariSIO from HIAS - it is not possible on RPI.

AtariSIO is a device driver, which requires a UART triggering a IRQ when a single byte is in an input buffer.

HIAS explained me that the UART in Broadcom chip used in RPI can only trigger an IRQ, when at least 2 bytes are there... NO GO

 

My recommendation - use the USB version of a SIO2PC cable :)

 

Yes, command is connected through the level shifter to GPIO 17, just like this: http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/?do=findComment&comment=2698490

Yes R4

Thanks for info on AtariSIO. I appreciate you saving me time going down a dead-end!

 

I do have one of Sloopy's SIO2PC-USBs. It works about the same as the UART. The speed keeps dropping down to 19200 even when set faster and the CPU maxes out. I'd really like to get the UART connection working better since it make such a nice compact solution with the RPI0W.

Link to comment
Share on other sites

 

Yes, command is connected through the level shifter to GPIO 17, just like this: http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/?do=findComment&comment=2698490

Yes R4

Thanks for info on AtariSIO. I appreciate you saving me time going down a dead-end!

 

I do have one of Sloopy's SIO2PC-USBs. It works about the same as the UART. The speed keeps dropping down to 19200 even when set faster and the CPU maxes out. I'd really like to get the UART connection working better since it make such a nice compact solution with the RPI0W.

 

The normal version of the RespeQt does not support sensing on Raspberry's GPIO PINs for a command line signal.

 

You can find a link to an old (0.8.7) modified version of AspeQt which uses a GPIO PIN 17 for handshake here:

http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/?do=findComment&comment=2698490

Perhaps this will work better for you?

I used it with RPI ver.1 (single core like RPI0W) and had good performance.

 

The other option is to use the latest version of the RespeQt and set the Handshake setting to "NONE" (in this case the GPIO PIN 17 is not used at all).

 

I didn't know Sloopy's SIO2PC-USBs, but quickly searched and found out, that you need "DSR" as a handshake setting in RespeQt:

http://atariage.com/forums/topic/188349-sio2pc-usb-sloopy-edition-mkii/page-3?do=findComment&comment=2390626

Link to comment
Share on other sites

 

The normal version of the RespeQt does not support sensing on Raspberry's GPIO PINs for a command line signal.

 

You can find a link to an old (0.8.7) modified version of AspeQt which uses a GPIO PIN 17 for handshake here:

http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/?do=findComment&comment=2698490

Perhaps this will work better for you?

I used it with RPI ver.1 (single core like RPI0W) and had good performance.

 

The other option is to use the latest version of the RespeQt and set the Handshake setting to "NONE" (in this case the GPIO PIN 17 is not used at all).

 

I didn't know Sloopy's SIO2PC-USBs, but quickly searched and found out, that you need "DSR" as a handshake setting in RespeQt:

http://atariage.com/forums/topic/188349-sio2pc-usb-sloopy-edition-mkii/page-3?do=findComment&comment=2390626

Ah, I misunderstood. I assumed that you had built the command line function into all later versions.

 

I won't be able to play with it again for a couple days, but I'll let you know what I find when I do.

Link to comment
Share on other sites

  • 4 weeks later...

Having finally installed new OS ROMs with Hias' 1.30 patch, I've been able to test a bunch of different scenarios

 

After much experimentation with the Raspberry Pi Zero W, I have found I can connect via version 0.8.7 of AspeQt at a reliable 57,600. This matches what I can do over an old built-in (DE9) SIO2PC on my 800XL connected to an old desktop PC with a serial port.

 

With RespeQt 4, I can reliably connect at 128,000 (divisor 0) over SIO2PC-USB. This matches what I see from my new laptop connected over the same device.

 

So, while the serial ports are certainly usable, USB is better than twice as fast. Additionally, the Pi doesn't max out the CPU while querying the USB port like it does with the serial port and you don't need to rejigger the bluetooth settings. So, USB seems like the obvious way to go.

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

No need to compile QT5 yourself. If you are running the current Raspbian release (Jessie) it's as simple as that:

sudo apt-get install build-essential git qt5-default qtbase5-dev
git clone https://github.com/jzatarski/RespeQt.git
cd RespeQt
qmake
make -j 4
./RespeQt
Takes some 10 minutes total (depending on internet speed and performance of your SD card) on a RPi2. On the old RPi use "make" instead of "make -j 4".

 

so long,

 

Hias

 

 

 

 

Just a quick FYI. With the latest Raspbian (Stretch) this has changed a little. The procedure is now this

sudo apt-get install build-essential git qt5-default qtbase5-dev libqt5serialport5 libqt5serialport5-dev
git clone https://github.com/jzatarski/RespeQt.git
cd RespeQt
qmake
make -j 4
./RespeQt

The qt5 serial port isn't included in qt5-default or base but qmake complains if it's missing.

 

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

 

 

 

Just a quick FYI. With the latest Raspbian (Stretch) this has changed a little. The procedure is now this

sudo apt-get install build-essential git qt5-default qtbase5-dev libqt5serialport5 libqt5serialport5-dev
git clone https://github.com/jzatarski/RespeQt.git
cd RespeQt
qmake
make -j 4
./RespeQt

The qt5 serial port isn't included in qt5-default or base but qmake complains if it's missing.

 

 

This works not on my bpi...

 

E: Paket qt5-default kann nicht gefunden werden.

E: Paket qtbase5-dev kann nicht gefunden werden.

E: Paket libqt5serialport5 kann nicht gefunden werden.

E: Paket libqt5serialport5-dev kann nicht gefunden werden.

 

does anyone know how to get respeqt running on banana pi?

Link to comment
Share on other sites

  • 4 months later...

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...