Jump to content
IGNORED

AspeQt: Yet another SIO2PC/APE clone


Recommended Posts

Another stupid question - if already answered - ...

 

How do I grant access to my serial device, if Linux declines it? (Ubuntu 12.04 ... in 10.10 it worked out-of-the-box)

 

(Putting on my sysadmin hat)

 

Check the permissions on the serial device. Your user may not belong to the group that can open it. Looks like your user may need to be in the dialout group to use it.

 

Thank you! In german, it's the group "Modem verwenden", I activated, for those who're looking for the right group on german systems.

 

After relogging, it worked on my newly installed debian 6.0.4 64 Bit.

  • 2 weeks later...

Version 0.8.2 is now available (source and binaries)

 

What's new in version 0.8.2

  • Added multi-session capability. This allows the AspeQt user to invoke multiple instances of AspeQt and use different configurations for each session. Session files were already partly implemented in AspeQt to save/restore mounted disk image groups. This modification takes it further by adding other configuration settings unique to the session. AspeQt normally saves all it's settings to Windows Registry, and restores them from there when it's first launched. With this mod, AspeQt will first examine it's command line to see if a session file was specified, and if it was, then AspeQt will load it's session specific configuration parameters from the given session file. If no session file name was found, then AspeQt will load all of it's settings from Windows Registry as usual. See AspeQt documentation for session specific settings.
  • Updated some icons for consistency across main window menu items
  • Fixed a problem with missing icon in About Dialog
  • Fixed a problem with Text Printer Window menu item icon not displaying properly
  • Fixed a problem with "last session directory" registry entry
  • Changed code to make sure all path separators are cross platform compatible (forward slash) in registry and session files

Source and binaries are available at my website and SourceForge as usual.

 

 

Multi-session capability has been tested by myself to the extent of making sure session files save and load properly and the software behave accordingly, however i have not tested it using more than one Atari connected to the PC in a real life situation. So I appreciate your input on that, please test and let me know. I will also do my own tests as soon as I have another SIO2PC available. For how to use the multi session capability please refer to the documentation file.

Edited by atari8warez

Are there some new depencies?

 

diskimageatx.cpp: In member function ‘virtual bool DiskImageAtx::open(const QString&, FileTypes::FileType)’:
diskimageatx.cpp:30: error: ‘phantomflip’ was not declared in this scope
diskimageatx.cpp: In member function ‘bool DiskImageAtx::seekToSector(quint16)’:
diskimageatx.cpp:161: error: ‘phantomflip’ was not declared in this scope
diskimageatx.cpp:165: error: ‘phantomflip’ was not declared in this scope
diskimageatx.cpp: In member function ‘virtual bool DiskImageAtx::readSector(quint16, QByteArray&)’:
diskimageatx.cpp:240: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
/usr/include/qt4/QtCore/qbytearray.h:456: note: candidate 1: bool QByteRef::operator==(char) const
diskimageatx.cpp:240: note: candidate 2: operator==(int, int) <built-in>
make: *** [diskimageatx.o] Fehler 1

 

Same error on Linux aswell as on Mac OS X.

None that I know of, but diskimageatx.cpp was written by Krzy so I hope he can comment on this. Code compiles and runs fine in Windows, I have no access to linux or Mac OS X.

 

phantomflip is declared in diskimageatx.h, so I can't make sense of that error message in your post.

The other (warning) message also appears in windows.

Edited by atari8warez

May be it's commented out, when compiling somewhere else than Windows?

 

I got to check the sources, but I'm not very good in coding C/C++ ... even if I studied this.

 

EDIT: I don't see any declaration of phantomflip in diskimageatx.h :/

Do I have different sources? downloaded them from your site and from sourceforge

Edited by atarixle

Ok, seems like the source archive that I uploaded (to SF and my website) have the previous revision (51) of the diskimageatx.h (somehow I missed to update the file in my archive, so next time I am creating the archives from scratch, as this started to happen frequently). SourceForge has the latest source (rev 57) in the SVN area as Turtoise SVN committed the correct version to the repository.

 

Anyway I updated the archives but here's where in diskimageatx.h the missing variable declaration should go if you want a quick fix:

 

struct atx_file
{
	quint16 version;
	quint32 start;
	atx_track_header tracks[100];
};

QFile *sourceFile;
quint8 count[1040];
quint8 wd1772status;
atx_file atx;
int lastsector;
int phantomflip;
};

Edited by atari8warez

Ok, in between argueing with MG, building hardware and posting pointless messages to Atariage, I was also able to test AspeQt in a multi session environment and happy to report that my preliminary tests with two AspeQt sessions active at the same time (using COM port 1 and 4), serving an Atari 800XL and a 130XE simultaneously were successful.

 

Both AspeQt sessions were set to 3xSIO speed, each copying a disk full of stuff from one drive to another (simultaneously) were at ease with the SIO operation, no errors or timeouts. The PC is a P4 running at 2.4Ghz, the CPU usage was maxing out to 30% at times was normally around %20 during the operation. The two target disks were set to Auto-commit (writing the .atr back to PC drive in real time rather than buffering the changes for later commit). So it looks very promising so far, will do more testing for sure but I am pretty satisfied with my results.... hoping to hear from you guys too...

 

diskimageatx.cpp: In member function ‘virtual bool DiskImageAtx::readSector(quint16, QByteArray&)’:

diskimageatx.cpp:240: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:

/usr/include/qt4/QtCore/qbytearray.h:456: note: candidate 1: bool QByteRef::operator==(char) const

 

In Linux (debian, gcc Debian 4.4.5-8 4.4.5), this causes this warning.

 

On Mac OS X (Lion, i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)), this causes an error and the compiling stops appruptly.

 

Can you make this more ISO-C-ish? ;-)

Edited by atarixle

Did a quick test on my old Intel P2, 400MHz, 384MB, real COM1/COM2 ports, WXP.

 

2 Instances, mainly just reading data, no problems yet, but like I said, just a quick test.

 

Sounds great, I wish someone with an older machine can try it like a 386/286.

 

diskimageatx.cpp: In member function ‘virtual bool DiskImageAtx::readSector(quint16, QByteArray&)’:

diskimageatx.cpp:240: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:

/usr/include/qt4/QtCore/qbytearray.h:456: note: candidate 1: bool QByteRef::operator==(char) const

 

In Linux (debian, gcc Debian 4.4.5-8 4.4.5), this causes this warning.

 

On Mac OS X (Lion, i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)), this causes an error and the compiling stops appruptly.

 

Can you make this more ISO-C-ish? ;-)

 

Yeah this happens on Windows too, although the compliation does not stop as it's only a warning. The code isn't mine but I will check to see what I can do with it.

In order to compile rev. 57 on Linux (g++ 4.7) I had to add #include <unistd.h> to serialport-unix.h, otherwise I got lots of "'::close' '::read' '::write' was not declared" errors. I don't know why it compiled cleanly before, possibly unistd.h was included somewhere else.

Edited by greblus

In order to compile rev. 57 on Linux (g++ 4.7) I had to add #include <unistd.h> to serialport-unix.h, otherwise I got lots of "'::close' '::read' '::write' was not declared" errors. I don't know why it compiled cleanly before, possibly unistd.h was included somewhere else.

 

Hmm, good question, I'll add that.

  • 4 weeks later...

I'd like to make some requests (hopefully not previously mentioned).

 

- Make XEX boot persistent for the session

- Command line switches with any options provided overriding the stored settings. Perhaps have the overrides default to temporary (i.e. for the session only) with the choice to make them permanent

 

One more request is more of a novelty.

 

-XEP80 simulation. Obviously this cannot be an emulation as XEP80 is connected via game ports. XEP80 control sequences would be sent via SIO instead.

Edited by a8isa1
Make XEX boot persistent for the session

Good occasion to renew my previous suggestion for this:

Please just have a single "Insert into Drive" button which let's you browser and select Images, Folders and XEX files just the same way.

Sample applies to Drag & Drop of couse. Just "Insert" whatever is dropped and keep it.

Persistent Xex boot mightn't be totally feasible - it's a "concocted" type of operation where Aspeqt depends on guaranteed behaviour from the loader, ie if the Atari asked for unexpected sector #s it'd probably confuse the whole thing.

 

Maybe a "repeat previous boot" type of operation would work well. e.g. once the operation completes, put a dialog with "OK" and "Repeat" buttons on it.

Guys I wish I had the time to tackle all of these requests, currently I am improving upon the remote module (AspeCl) of AspeQt. Adding some more remote commands. In fact I will be releasing some of the development effort tonight. For the requests, I am not ignoring them, just need some more time in between software/hardware projects and now construction work in my home I have to complete ASAP. What could I have done if I had a full-time daytime job :?

Edited by atari8warez
Make XEX boot persistent for the session

Good occasion to renew my previous suggestion for this:

Please just have a single "Insert into Drive" button which let's you browser and select Images, Folders and XEX files just the same way.

Sample applies to Drag & Drop of couse. Just "Insert" whatever is dropped and keep it.

 

Could you please expand on this a bit more. Where do you exactly want to see that button, how is it different from the existing Disk/Mount menu option or the Mount button that is already there (well other than being a button of course). Drag and drop feature was never fully implemented, it is one of my objectives to get to it too, but I will need to learn more about AspeQt, QT, and various Atari disk formats in general to dive into that deep pool :-)

Edited by atari8warez

I'd like to make some requests (hopefully not previously mentioned).

 

- Make XEX boot persistent for the session

- Command line switches with any options provided overriding the stored settings. Perhaps have the overrides default to temporary (i.e. for the session only) with the choice to make them permanent

 

One more request is more of a novelty.

 

-XEP80 simulation. Obviously this cannot be an emulation as XEP80 is connected via game ports. XEP80 control sequences would be sent via SIO instead.

  • Have to check XEX boot request to see what's involved and/or whether it's feasible. (Rybag's suggestion might be easy to implement)
  • Currently the only command line option available is for specifying a session file name. Session files can be duplicated and edited manually (Notepad) as they are straight text files. This would be a quick and dirty temporary solution until other command line switches are implemented.
  • XEP80 simulation/emulation is currently way over my head timewise and XEP80 knowledgewise

Edited by atari8warez

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