Jump to content

Photo

PCLINK.SYS support?


178 replies to this topic

#51 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Wed Jun 8, 2016 5:00 AM

Well... the H: device uses $ while PCL: uses !. Don't remember offhand why the two schemes are different, and I should probably change one of them.

 

Please let me know, which one you choose to stay with :)

 

The host device code can do long name mangling, though, while the PCLink code cannot.

 

Neither the original sio2bsd code nor RespeQt can do it.



#52 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Wed Jun 15, 2016 4:37 AM

Sound. Altirra's audio engine has a DC filter, so if the emulated computer isn't playing sound, the audio signal will eventually go to zero, which can then be detected by the kernel mixer. Whether or not this actually prevents the screen saver or sleep, however, is not guaranteed and likely OS version and driver specific. The OS is particularly aggressive about activating the screen saver if a password is set. Altirra only directly nudges the system when detecting controller input; otherwise, the system staying awake is up to OS heuristics. RespeQt should call SetThreadExecutionState() or PowerCreateRequest() to keep the system running.

I am not sure what this should tell me.

 

Just upgraded to Altirra 2.71-64 and it works as always. Had it booted to Altirra's BASIC prompt READY and leave it there. It surpresses the energy settings of Win7Pro and that's it.



#53 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Sat Jun 18, 2016 10:53 AM

Does the folder image entry that will be used for PCLink have to be set as D1:?  If I set a normal *.ATR image as D1: and then select an arbitrary folder as D2: for PCLink I get the following error from SDX:

 

138 Device does not respond

 

However if I drag the PCLink folder entry up to D1: it works properly.

 

I also have a potential feature request.  Would it be possible for the PCLink process to do on the fly conversion of line-endings between the Atari and Windows standard when accessing data?  Perhaps this would not be hardcoded always-on but maybe an option?  Altirra currently does this through the D6:->D9: 'Host device' entries and it is very useful when typing listings in as text on the PC.  Obviously not essential but very user friendly in some situations.  There are also situations where you might not want that to happen.


Edited by morelenmir, Sat Jun 18, 2016 11:06 AM.


#54 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 14,597 posts
  • Location:United Kingdom

Posted Sat Jun 18, 2016 11:37 AM

You are referring to the PClink volume on drive 2 as PCL2:, I take it?

#55 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Sat Jun 18, 2016 4:10 PM

You are referring to the PClink volume on drive 2 as PCL2:, I take it?

 

Ahhhhh....  No.  I was not.  The wording in the SDX user guide is a little unclear, but it makes all the difference.  Many thanks Jon!

 

Moreover, under BASIC and ASM editor at least - therefore under all CIO I guess - a PCLink drive set up as entry two is addressed as 'DPCL2:'.  Excellent!

 

WIll this fork be kept updated when fixes and new features are added to the primary release or will they both at some point be folded in together do you think?



#56 Joey Z OFFLINE  

Joey Z

    Dragonstomper

  • 876 posts
  • Location:Hoffman Estates, IL

Posted Sat Jun 18, 2016 4:46 PM

 

Ahhhhh....  No.  I was not.  The wording in the SDX user guide is a little unclear, but it makes all the difference.  Many thanks Jon!

 

Moreover, under BASIC and ASM editor at least - therefore under all CIO I guess - a PCLink drive set up as entry two is addressed as 'DPCL2:'.  Excellent!

 

WIll this fork be kept updated when fixes and new features are added to the primary release or will they both at some point be folded in together do you think?

This is all being put into the main branch, and when it's mature enough, I'll do another release on github. Now that there's more developers working on this than just me, we should probably start using the branch feature of git to work on things independently of the main branch. As it is, if I added a feature today, I'd have to do a release with a mostly-baked PCLINK implementation. You can see how this would get more and more complicated if there was more parallel/simultaneous work going on.



#57 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Sat Jun 18, 2016 4:50 PM

This is all being put into the main branch, and when it's mature enough, I'll do another release on github. Now that there's more developers working on this than just me, we should probably start using the branch feature of git to work on things independently of the main branch. As it is, if I added a feature today, I'd have to do a release with a mostly-baked PCLINK implementation. You can see how this would get more and more complicated if there was more parallel/simultaneous work going on.

 

Yep - makes sense Joey Z!  Many thanks for all the work you have already done!



#58 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Sun Jun 19, 2016 1:48 PM

we should probably start using the branch feature of git to work on things independently of the main branch

 

Good idea. Locally I always use branches.

You may want to use the main remote branch to merge changes from the "feature" branches just before releasing the software.



#59 rdea6 OFFLINE  

rdea6

    River Patroller

  • 2,836 posts
  • Location:Arizona USA

Posted Sun Jun 19, 2016 2:12 PM

Moreover, under BASIC and ASM editor at least - therefore under all CIO I guess - a PCLink drive set up as entry two is addressed as 'DPCL2:'.  Excellent!

If you are using Respeqt and the Pclink branch you can have a PCL folder on all the drives that don't have an ATR attached and does not interfere with partitions.

Personally I like making my PCL access on PCL3: PCL4: PCL5: and PCL6:...  But with the emulator you are stuck with only one even though you can change it any time you want.. 



#60 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Mon Jun 20, 2016 5:14 AM

One idea for a feature that struck me last night is purely a GUI suggestion.  In the past I asked if it would be possible for RespeQT to detect if other SIO devices were attached to the channel and automatically disable the corresponding numbered entry on its device list.  One of the chaps explained how individual SIO devices are totally unaware of each other, therefore RepeQT would have no way to interrogate other machines on the daisy chain - makes sense.  However, working with the same general idea I wonder if it would be possible to add either a checkbox or just a popup context-menu item to each entry in RespeQT's device list that would manually disable it?

 

For example it would be possible to plug the SIO2PC as the last item in a daisy chain containing an 1050 and an XF551, designated D1: and D2: respectively.  Within RespeQT one would then manually disable entry #1 & #2 so it is impossible to set up a conflict with the physical drives.  I know the ultimate answer is 'be more careful', but I find myself quite frequently assigning a D1: in RespeQT when I have my physical 1050 switched on and already set as that number.



#61 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Wed Jun 22, 2016 4:53 AM

... but I find myself quite frequently assigning a D1: in RespeQT when I have my physical 1050 switched on and already set as that number.

Since the old ages of home computing manual drive switches are the simplest but not most sophisticated solution. icon_smile.gif

#62 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 14,597 posts
  • Location:United Kingdom

Posted Wed Jun 22, 2016 5:06 AM

I did the exact same thing yesterday (discovered an ATR mounted on D1: on my SIO2SD NAKed, only to find that there was a RespeQt volume mounted on the same unit number). I clicked eject, used the SIO2SD, and blamed the bugs/features between the desk and the chair. ;)

 

Having said that: being able to grey out the corresponding drive slot (so that it becomes inactive and invisible but remembers any current folder/ATR assignment, which becomes effective again once the slot is reactivated) would appeal to human laziness. Then - when I am finished testing SIO2SD - I could un-hide the slot and everything would be exactly as it was before.



#63 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Wed Jun 22, 2016 9:01 AM

Hi lazy users :)

what about drag and drop?

You may "dock" your D1 assignment by exchanging D1 with an unused drive (for the time working with a real drive / SIO2SD).



#64 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 14,597 posts
  • Location:United Kingdom

Posted Wed Jun 22, 2016 10:08 AM

You may "dock" your D1 assignment by exchanging D1 with an unused drive (for the time working with a real drive / SIO2SD).


Good idea. :)

#65 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Thu Jul 21, 2016 12:00 AM

Due to great support from community, there are higher baud rates possible with Bluetooth.

 

That's why I uploaded Windows binaries with updated "SOFTWARE (SIO2BT)" handshake:

- baud rate settings: x1/x2/x3 are now supported

- the serial port is opened with selected baudrate

- there is no automatic fallback to normal speed in error cases

 

Attached File  RespeQt.zip   9.1MB   162 downloads

 

This software contains the same PCLINK support as the previously uploaded version (issue with illegal file/dir names under Windows is not yet solved).


Edited by TheMontezuma, Thu Jul 21, 2016 12:03 AM.


#66 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Thu Jul 21, 2016 10:49 AM

Today HIAS asked me about virtual serial port drivers (for SPP Bluetooth connections) in regard to baudrate settings.

I have tried different settings and realized that it completely does not matter what baudrate is set. The communication always works.

So even if the above version still works, the changes I introduced were superfluous (and perhaps even confusing, so I have already created a git pull request to revert them).

Thank you Hias for a very good tip!


Edited by TheMontezuma, Thu Jul 21, 2016 10:51 AM.


#67 576XE OFFLINE  

576XE

    Dragonstomper

  • 780 posts
  • Location:Moscow, Russia

Posted Mon Jul 25, 2016 2:21 AM

If I could understand, the SDX PCLINK is some kind of workaround like the same drivers to access H*: devices in emulators.

From the Atari side it's SDX driver to provide r/w/x access between Atari and PC.

 

All works going on PC side in server. Thus if you provided server (Special versions of RespeQT FE) with drive D3: (C:) thus your PCL can be accessed only as PCL3: :)

Not as PCL: or PCL1:

You can not to change drive to PCL2: because it's really occupied by D2: (B:) device. :( thus you are going to D2:

 

The programs that accept long device names (like most of SDX programs) works with PCL's comfortably, but others alas can't do anything.

They reads first P letter and begins thinking about printer.

 

Now I've loaded and run Marbled from PCL2: with IDEPlus exeloader :)



#68 greblus OFFLINE  

greblus

    Moonsweeper

  • 270 posts

Posted Mon Jul 25, 2016 5:05 AM

I'd not call it a "workaround", rather an ingenious feature :). No configuration needed. It simply works.

And you still can access mounted folders read-only as before (D1:, D2:, etc), or rw through PCLINK protocol (PCL1:, PCL2:, etc).

 

W.


Edited by greblus, Mon Jul 25, 2016 5:05 AM.


#69 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Mon Jul 25, 2016 5:18 AM

PCLINK is conceptually independent of the mounted folders.

But for simplicity (user interface re-use) I have combined PC LINKs with RespeQt mounted folders, so the same PC folder can be accessed in two ways:

- (read only) disk, for example D3

- R/W PCLINK, for example PCL3

So, if you mounted an ATR image (instead of a folder) as D2, then you can't use PCL2 device.


Edited by TheMontezuma, Mon Jul 25, 2016 5:20 AM.


#70 lemiel OFFLINE  

lemiel

    Moonsweeper

  • 280 posts
  • Location:Tychy, Poland

Posted Mon Jul 25, 2016 9:09 AM

Lx: device additionally in hatabs?

#71 drac030 OFFLINE  

drac030

    Stargunner

  • 1,836 posts
  • Location:Warszawa, Poland

Posted Mon Jul 25, 2016 9:28 AM

What for? The device is available in CIO as "DPCL:".

Try DIR "DPCL:*.*" in Turbo BASIC XL.

#72 576XE OFFLINE  

576XE

    Dragonstomper

  • 780 posts
  • Location:Moscow, Russia

Posted Mon Jul 25, 2016 9:48 PM

Is there a program which shows us all modern devices in hatabs?



#73 JoSch ONLINE  

JoSch

    Dragonstomper

  • 563 posts
  • Location:Germany

Posted Tue Jul 26, 2016 12:07 AM

I compiled the recent source code on OS X and tinkered with the source code.

What I observe is, that the directory image via D1: works fine and as soon as I use PCL1: everything breaks down.

The serial code called from pclink.cpp never receives anything and so times out.

As I can't get the break point to work in the Qt IDE, and I have no outline of the code yet, I don't know how proceed from here.

Any pointers or hints, where to look at?



#74 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • 676 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Tue Jul 26, 2016 1:37 AM

I compiled the recent source code on OS X and tinkered with the source code.

What I observe is, that the directory image via D1: works fine and as soon as I use PCL1: everything breaks down.

The serial code called from pclink.cpp never receives anything and so times out.

As I can't get the break point to work in the Qt IDE, and I have no outline of the code yet, I don't know how proceed from here.

Any pointers or hints, where to look at?

 

> as soon as I use PCL1: everything breaks down. The serial code called from pclink.cpp never receives anything and so times out.

 

Could you please search in the PCLINK.cpp for "static bool D = false; // extended debug"

and change the value to true ?

Then execute your test and copy the content of the log window and paste it here?

 

I think you are the first person testing PCLINK on OS X.

PCLINK works well under Linux (sio2bsd was originally written for Unix/Linux) and since OS X is based on Linux, I would expect it to work under OS X, too.

 

Thr first thing, which comes to my mind are security permissions of a mounted folder.

Could you, please, set all possible permissions to this folder and check it again?



#75 JoSch ONLINE  

JoSch

    Dragonstomper

  • 563 posts
  • Location:Germany

Posted Tue Jul 26, 2016 1:51 AM

 

> as soon as I use PCL1: everything breaks down. The serial code called from pclink.cpp never receives anything and so times out.

 

Could you please search in the PCLINK.cpp for "static bool D = false; // extended debug"

and change the value to true ?

Then execute your test and copy the content of the log window and paste it here?

 

I think you are the first person testing PCLINK on OS X.

PCLINK works well under Linux (sio2bsd was originally written for Unix/Linux) and since OS X is based on Linux, I would expect it to work under OS X, too.

 

Thr first thing, which comes to my mind are security permissions of a mounted folder.

Could you, please, set all possible permissions to this folder and check it again?

1.) When I'm home, I will try to compile D with true.

2.) Yes, I know, but since there a lot #ifdef Q_OS_LINUX, but, as far as I see, no Q_OS_OSX. I had to change two occurences to get RespeQt to compile.

I want to add Q_OS_OSX to the occurrences of #ifdef Q_OS_LINUX.

3.) Yes, I see what you're driving at. But as I see it, the code never comes to sending the directory structure or accessing files, because it can't read the commands from the client (i.e. the computer).





Reply to this topic



  


0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users